我正在尝试使用DateTime
DateTime.TryParseExact()
问题是它返回false。
class Program
{
static void Main(string[] args)
{
var date = "30/01/2014 10:02:43:096";
DateTime dt;
if (DateTime.TryParseExact(date, "MM/dd/yyyy HH:mm:ss:fff", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
Console.WriteLine("Yipee");
else
Console.WriteLine("D'oh!");
Console.ReadKey();
}
}
如果我更新程序的日期以使用不同的字符串日期var date = "03/01/2014 10:02:43:096";
,那么它可以正常工作
我无法理解为什么它不喜欢30个月......
答案 0 :(得分:4)
问题: 30/01/2014 10:02:43:096
日期30
首先出现,但您正在将其解析为Month
起诉MM/dd/yyyy HH:mm:ss:fff
解决方案:您需要使用dd/MM/yyyy
代替MM/dd/yyyy
,因为您的日期字符串是30/01/2014 10:02:43:096
,其中日期是第一位的。
试试这个:
if (DateTime.TryParseExact(date, "dd/MM/yyyy HH:mm:ss:fff",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))
答案 1 :(得分:2)
date" 30/01/2014 10:02:43:096" 格式" MM / dd / yyyy HH:mm:ss:fff"
您正试图获得30个月的月份:|
答案 2 :(得分:0)
试
if (DateTime.TryParseExact(date, "dd/MM/yyyy HH:mm:ss:fff",
CultureInfo.InvariantCulture, DateTimeStyles.None, out dt))