【问题标题】:Convert String To Datetime e.g. "10/1/19 4:19:38 AM UTC" [duplicate]将字符串转换为日期时间,例如“UTC 时间 19 年 10 月 1 日凌晨 4 点 19 分 38 秒” [重复]
【发布时间】:2020-01-31 23:50:25
【问题描述】:

我需要将此字符串转换为日期时间:"10/1/19 4:19:38 AM UTC"

我已尝试以下方法并遇到各种错误。

CultureInfo provider = CultureInfo.InvariantCulture;
DateTime.ParseExact(value.ToString(), "MM/dd/yy hh:mm:ss tt KKK", provider);
DateTime.ParseExact(value.ToString(), "MM/dd/yy hh:mm:ss t K", provider)

这与 Parse DateTime with time zone of form PST/CEST/UTC/etc 不同,因为它解析的是字母月份名称

【问题讨论】:

  • 一天只用一个 d,一个小时用一个 h。当您使用一个时,它将接受一位或两位数字。当你使用两个时,它只会接受两个。
  • 您使用的是两位数的日期和小时格式。
  • 你无法解析这个,因为“UTC”未被识别为有效参数。
  • 回显 Mitulat - 您需要去掉 UTC 或将其转换为时区(例如 "+00:00"
  • "MM/d/yy h:mm:ss tt UTC""MM/d/yy h:mm:ss tt 'UTC'" 将解析,只要 UTC 始终在字符串中

标签: c# datetime type-conversion


【解决方案1】:

“UTC”是无法解析的。你应该使用例如“+02:00”作为时区指示符。

从末尾删除“UTC”,然后使用以下格式:

"M/d/yy h:m:s tt".

或者将“UTC”改为“+02:00”并使用这种格式:

"M/d/yy h:m:s tt K"

【讨论】:

  • Z大概可以解析
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-15
  • 2011-06-13
相关资源
最近更新 更多