C#DateTime转换或分析特定格式

本文关键字:定格 格式 转换 C#DateTime | 更新日期: 2023-09-27 18:27:28

我正在尝试将以下字符串转换为c#中的DateTime值:

2012年3月1日

但我在调用Convert.ToDateTime或DateTime.Parse.时一直收到这个错误

字符串未被识别为有效的DateTime。

我认为需要使用自定义日期格式,但我不知道格式是什么

如何将上面格式的字符串转换为DateTime值?

C#DateTime转换或分析特定格式

DateTime.ParseExact(yourString, "d MMMM yyyy", new CultureInfo("en-US"))

您可以通过从当前线程获取cultureinfo来找到支持的日期时间模式。

static void Main(string[] args)
        {
            const string date = "1 03 2012";
            Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongTimePattern);
            Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortTimePattern);
            Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.LongDatePattern);
            Console.WriteLine(Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern);
            Console.WriteLine(DateTime.Parse(date));
            Console.WriteLine(Convert.ToDateTime(date));

            Console.ReadLine();
        }

这适用于我的

     string s = "1 March 2012";
     DateTime dateTime = DateTime.Parse(s);