从阿拉伯标准时间转换为日期时间时,字符串未被识别为有效的DateTime



我想将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)
);

相关内容

  • 没有找到相关文章

最新更新