我想将String转换为DateTime。一切都是正确的,但不知道为什么我会出现这个错误;
字符串未被识别为有效的DateTime
string dtf = hdnFromDate.Value;
(调试时,我可以看到dtf值是Sun Dec 13 2020 00:00:00 GMT+0300 (Arab Standard Time))
,我正在尝试转换为DateTime,但没有成功我正在以这种方式转换
DateTime date = DateTime.ParseExact(dtf, "dd/MM/yyyy", null);
我也试试这个
DateTime dt= DateTime.ParseExact(dtf,
"ddd MMM dd yyyy HH:mm:ss 'GMT'K '(Arab Standard Time)'",
CultureInfo.InvariantCulture);
我哪里做错了?
对DateTime.ParseExact方法的引用
将指定的日期和时间的字符串表示形式转换为其DateTime等效。字符串表示形式的格式必须与指定的格式完全匹配,否则将引发异常。
所以你的日期时间字符串应该是这样的,否则你会得到异常
Mon Dec 14 2020 14:42:46 GMT+08:00 (Arab Standard Time)
或
Mon Dec 14 2020 14:42:46 GMT+0800 (Arab Standard Time)
你可以尝试这个来获得你需要的字符串类型
Console.WriteLine(
DateTime.Now.ToString("ddd MMM dd yyyy HH: mm:ss 'GMT'K '(Arab Standard Time)'",
CultureInfo.InvariantCulture)
);
如果你的字符串有空白li
Mon Dec 14 2020 14: 42:46 GMT+08:00 (Arab Standard Time)
Yoo可以试试
Console.WriteLine(
DateTime.Now.ToString("ddd MMM dd yyyy HH: mm:ss 'GMT'K '(Arab Standard Time)'",
CultureInfo.InvariantCulture,
DateTimeStyles.AllowWhiteSpaces)
);