日期字符串格式轉換


日期格式化轉換,是開發過程中比較常遇到的問題。

例如以下格式的日期: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.yyyy
            string date1 = "13.06.2017";
            //yyyy/MM/dd
            string 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();
        }
    }

測試結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM