C#将时间格式由yyyyMMdd转化成yyyy-MM-dd

        string str = DateTime.Now.ToString("yyyyMMdd");
        string[] format = {"yyyyMMdd"};
        DateTime date;
        if (DateTime.TryParseExact(str, 
                                   format, 
                                   System.Globalization.CultureInfo.InvariantCulture,
                                   System.Globalization.DateTimeStyles.None, 
                                   out date))
        {
             ....
        }
        else
             ....

 实例:

       string date="20210131";
            DateTime res;

            string[] format = { "yyyyMMdd" };
            string[] weeks = { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
            if (DateTime.TryParseExact(date, format, CultureInfo.CurrentCulture, DateTimeStyles.None, out res))
            {
                int a = (int)(res.DayOfWeek);
                Console.WriteLine(weeks[a]);   //判断星期几
                Console.WriteLine(res.ToString("yyyy-MM-dd"));  //输出转化后的日期
                Console.ReadLine();
            }
            else
            {
                throw new Exception("转化出错");
            }

 需要注意的是这里的format要和传进来的字符串的格式一致

不一定要求是yyyyMMdd,还可以是yyyy-MM-dd或者yyyy/MM/dd,甚至可以加上hh:mm:ss。

只要传入的格式是一致的,都能转换成日期类型,然后进行格式转换。

这样可以实现各种日期格式之间的相互转换。

另外。如果给定的日期格式是标准的yyyy-MM-dd,要转换成其他类型,可以使用ToDateTime()。

public static string ConvertTime(string timeString)
        {
            DateTime time = Convert.ToDateTime(timeString);
            return time.ToString("yyyyMMddhhmmss");
        }
记录编程的点滴,体会学习的乐趣
原文地址:https://www.cnblogs.com/AduBlog/p/14343064.html