将日期字符串格式化为年月日格式如2011-12-14 、16日、18日-19日、21日、23日、25日-26日、28日
2011-12-13 16:27
204 查看
/// <summary> /// 格式化出发日期 /// </summary> /// <param name="AllDepartDate">2010年10月4日 2010年10月7日 2010年10月11日</param> /// <returns>对同一个月内连续的日期做了格式化。跨月和跨年的日期重新起行。日期不连续的用、隔开。2010年1月1日-2010年1月5日</returns> public static string FormatDepartDate(string AllDepartDate, int showCount) { //2010年10月14日 string[] Array_AllDepartDate = AllDepartDate.Trim().Split(','); IEnumerable<String> querys = Array_AllDepartDate.OrderBy(a => Convert.ToDateTime(a)); int ArrLength = querys.Count(); int Count = 0; StringBuilder m_FormatDate = new StringBuilder(512); if (ArrLength > showCount) { Count = showCount; } else { Count = ArrLength; } for (int iLoop = 0; iLoop < Count; iLoop++) { if (iLoop == 0) { m_FormatDate.Append(querys.ElementAt(0).ToString()); } else { DateTime m_DateTime = Convert.ToDateTime(querys.ElementAt(iLoop - 1)); DateTime m_DateTime1 = Convert.ToDateTime(querys.ElementAt(iLoop)); //判断是否同一年 if (m_DateTime1.Year == m_DateTime.Year) { //是同一个月 if (m_DateTime1.Month == m_DateTime.Month) { //判断日期是否连续 IsEqualDay(m_FormatDate, ref m_DateTime, ref m_DateTime1); } else { m_FormatDate.AppendFormat("、{0}月{1}日", m_DateTime1.Month.ToString("00"), m_DateTime1.Day.ToString("00")); } } else { m_FormatDate.AppendFormat("、{0}年{1}月{2}日", m_DateTime1.Year.ToString("0000"), m_DateTime1.Month.ToString("00"), m_DateTime1.Day.ToString("00")); } } } return m_FormatDate.ToString(); } private static void IsEqualDay(StringBuilder m_FormatDate, ref DateTime m_DateTime, ref DateTime m_DateTime1) { if (m_DateTime1.Day - m_DateTime.Day == 1) { if (m_FormatDate.ToString().LastIndexOf(string.Format("-{0}", m_DateTime.Day.ToString("00"))) > 0) m_FormatDate.Replace(string.Format("-{0}", m_DateTime.Day.ToString("00")), string.Format("-{0}", m_DateTime1.Day.ToString("00"))); else m_FormatDate.AppendFormat("-{0}日", m_DateTime1.Day.ToString("00")); } else { m_FormatDate.AppendFormat("、{0}日", m_DateTime1.Day.ToString("00")); } }
相关文章推荐
- 字符串转换为日期格式(datetime)只显示年月日
- c# 字符串格式化为日期格式
- JS 字符串转日期格式 日期格式化字符串
- 获取字符串格式日期的年月日以及转换为TimeStamp类型的方法
- js中日期格式字符串转为日期对象和日期进行格式化
- Java中Calendar类的简单使用方法,以及日期格式化的方法,字符串日期格式的验证
- pandas的to_datetime进行字符串格式化成为日期时间格式的方法
- JS 字符串转日期格式 日期格式化字符串
- Android工具类,一些方法电话正则,是否为空,日期格式化,星期,车牌,身份证校验,设置地区编码,验证日期字符串是否是YYYY-MM-DD格式,判断字符串是否为数字
- js将字符串转成日期格式,返回年月日
- 字符串转化为日期格式 并可以再次格式化得到的日期
- Javascript日期格式化指定格式的字符串实现
- 日期字符串格式化成日期/日期格式化成指定格式字符串
- 日期字符串格式化成日期/日期格式化成指定格式字符串
- Java获取当前时间年月日、时间格式化打印、字符串转日期
- fmt标签格式化输出字符串为日期格式字符串
- 获取字符串格式的日期列中,指定的年月日
- 【iOS】OC-UTC日期字符串格式化
- 字符串转换为日期时间格式