DateTime.TryParseExact returns false 对于 c# 中的某些字符串
DateTime.TryParseExact returns false for some string in c#
我在解析日期时遇到问题。我做了以下常用功能。
public static string ConvertedDate(string date)
{
if(!string.IsNullOrEmpty(date))
{
DateTime returnValue;
bool flag = DateTime.TryParseExact(date, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out returnValue);
return flag ? returnValue.ToString("MM.dd.yyyy") : null;
}
else
{
return null;
}
}
但是很奇怪的事情发生了一些字符串成功转换为 DateTime 但一些 return false.
例如:
"2017-05-11 12:00:24" this string parse successfully.
"2015-03-06 20:18:42" this string can not.
字符串的格式相同。
我观察到当"hour(hh)"超过12时就无法解析了。
您需要将 yyyy-MM-dd hh:mm:ss 更改为 yyyy-MM-dd HH:mm:ss,这是 24 小时制的小时数。注意从 hh 到 HH 的变化。
看这里:C# DateTime to "YYYYMMDDHHMMSS" format
我在解析日期时遇到问题。我做了以下常用功能。
public static string ConvertedDate(string date)
{
if(!string.IsNullOrEmpty(date))
{
DateTime returnValue;
bool flag = DateTime.TryParseExact(date, "yyyy-MM-dd hh:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.None, out returnValue);
return flag ? returnValue.ToString("MM.dd.yyyy") : null;
}
else
{
return null;
}
}
但是很奇怪的事情发生了一些字符串成功转换为 DateTime 但一些 return false.
例如:
"2017-05-11 12:00:24" this string parse successfully.
"2015-03-06 20:18:42" this string can not.
字符串的格式相同。
我观察到当"hour(hh)"超过12时就无法解析了。
您需要将 yyyy-MM-dd hh:mm:ss 更改为 yyyy-MM-dd HH:mm:ss,这是 24 小时制的小时数。注意从 hh 到 HH 的变化。
看这里:C# DateTime to "YYYYMMDDHHMMSS" format