例如以下格式的日期: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(); } }
测试结果:
以上就是开发中常遇到的问题--日期格式化转换.的详细内容。
