日期格式化转换,是开发过程中比较常遇到的问题。
例如以下格式的日期:13.06.2017、2017/06/13、2017年06月13日、2017年6月13日。
针对固定格式的日期可以用字符串截取的方式格式化成需要的格式,但是不够通用。
扩展方法将日期从原始格式转化成需要的格式:
public static class covertdateformatextensionmethod
{/// <summary>/// 日期字符串转换/// </summary>/// <param name="date">日期字符串</param>/// <param name="fromdateformat">原始日期格式</param>/// <param name="todateformat">转换后日期格式</param>/// <returns></returns>public static string convert(this string date,string fromdateformat, string todateformat)
{
datetime datetime = datetime.parseexact(date, fromdateformat,
system.globalization.datetimeformatinfo.currentinfo);return datetime.tostring(todateformat);
}
}
测试代码如下:
class program
{static void main(string[] args)
{//dd.mm.yyyystring date1 = 13.06.2017;//yyyy/mm/ddstring date2 = 2017/06/13;//yyyy年mm月dd日string date3 = 2017年06月13日;//yyyy年m月dd日string date4 = 2017年6月13日;
console.writeline(string.format(原始日期:{0},转换后日期:{1}, date1,
date1.convert(dd.mm.yyyy, yyyy-mm-dd)));
console.writeline(string.format(原始日期:{0},转换后日期:{1}, date2,
date2.convert(yyyy/mm/dd, yyyy-mm-dd)));
console.writeline(string.format(原始日期:{0},转换后日期:{1}, date3,
date3.convert(yyyy年mm月dd日, yyyy-mm-dd)));
console.writeline(string.format(原始日期:{0},转换后日期:{1}, date4,
date4.convert(yyyy年m月dd日, yyyy-mm-dd)));
console.readkey();
}
}
测试结果:
以上就是开发中常遇到的问题--日期格式化转换.的详细内容。