C#DateTime转换或分析特定格式
本文关键字:定格 格式 转换 C#DateTime | 更新日期: 2023-09-27 18:27:28
我正在尝试将以下字符串转换为c#中的DateTime值:
2012年3月1日
但我在调用Convert.ToDateTime或DateTime.Parse.时一直收到这个错误
字符串未被识别为有效的DateTime。
我认为需要使用自定义日期格式,但我不知道格式是什么
如何将上面格式的字符串转换为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);