【发布时间】:2018-06-01 14:47:16
【问题描述】:
我得到了带有日期时间的字符串,并且每次这个日期时间都采用不同的格式。是否可以只从字符串中获取时间并保存它的时间格式。
例如,输入:
"2010-10-23 01:02:45"
据我所知,这个时间会以 HH:mm:ss 格式显示。 我需要 01:02:45 的结果(格式相同)。
但是对于下一个输入
"2010/1/23 1:05 AM"
时间格式为“h:mm tt”
如何正确解析?
【问题讨论】:
-
使用
DateTime.TryParse(),然后在ToString()你想要的whatever format中使用 -
“而且每次这个日期时间都以不同的格式” 你至少知道所有可能的格式吗?它们是不同的吗,所以有没有可能例如一次你得到
2010-10-9,而下一次得到2010-9-10。因为那时你没有机会 -
尝试使用 TryParse 的 @maccettura 建议。如果 DateTime.TryParse 在识别某些出现的日期/时间格式时遇到问题,您可能不得不求助于正则表达式并自己解析可能出现的每种格式。
-
@Christoph: 正则表达式解析
DateTime?没有。您可以将DateTime.TryParseExact与多个格式字符串一起使用。 -
@TimSchmelter 好点。