我从 2 种不同格式的文件中读取日期时间字符串:
19/02/2019 08:24:59
2/17/2019 12:25:46 PM
对于 first 格式,我编写的自定义格式字符串为:
string firstDate = "19/02/2019 08:24:59";
string customFormatForFirstDateTimeString = "dd/mm/yyyy hh:mm:ss";
我将其使用如下:
string firstResultingDateAndTime;
bool parsingSuccessful = DateTime.TryParseExact(
firstDate,
customFormatForFirstDateTimeString,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out firstResultingDateAndTime);
问题是parsingSuccessful
的结果是false
。
对于 second 日期时间字符串,代码如下:
string secondDate = "2/17/2019 12:25:46 PM";
string customFormatForSecondDateTimeString = "m/dd/yyy hh:mm:ss PM";
string secondResultingDateAndTime;
parsingSuccessful = DateTime.TryParseExact(
secondDate,
customFormatForSecondDateTimeString,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None,
out secondResultingDateAndTime);
我也在这里收到
parsingSuccessful == false;
我认为自定义格式字符串不适合日期时间字符串,但是我无法弄清楚为什么。 请帮忙。 预先谢谢你。
答案 0 :(得分:7)
好吧,mm
代表分钟,而不是月(我们拥有MM
),这就是dd/mm/yyyy
格式的原因是dd/MM/yyyy
。
小时格式的另一个问题,我们在hh
范围内有0..12
(对于tt
有AM/PM
,对于{{ 1}}间隔:
HH