C# 如何将字符串转换为以百万秒为单位的日期时间?

C# 如何将字符串转换为以百万秒为单位的日期时间?,c#,C#,我有一个值为“2016-01-07 20:43:01803”的字符串 我想使用DateTime.Parse方法将其转换。它失败了 如何使用这种类型的字符串转换为datetime?您可以使用ParseExact方法 var input = "2016-01-07 20:43:01,803"; DateTime dt = DateTime.ParseExact(input, "yyyy-MM-dd HH:mm:ss,fff", CultureInfo.InvariantCulture); 您可以使

我有一个值为“2016-01-07 20:43:01803”的字符串

我想使用DateTime.Parse方法将其转换。它失败了


如何使用这种类型的字符串转换为datetime?

您可以使用
ParseExact
方法

var input = "2016-01-07 20:43:01,803";
DateTime dt = DateTime.ParseExact(input, "yyyy-MM-dd HH:mm:ss,fff", CultureInfo.InvariantCulture);

您可以使用
ParseExact
方法

var input = "2016-01-07 20:43:01,803";
DateTime dt = DateTime.ParseExact(input, "yyyy-MM-dd HH:mm:ss,fff", CultureInfo.InvariantCulture);

尝试使用
DateTime.ParseExact
正确格式。(最后一句话非常重要:)


尝试使用
DateTime.ParseExact
正确格式。(最后一句话非常重要:)


使用
ParseExact
,并指定格式。SO中有大量此类问题。我甚至不知道该选哪一个作为复制品使用
ParseExact
,并指定格式。SO中有大量此类问题。我甚至不知道该选哪一个作为复制品注意逗号对句号…@JonSkeet非常感谢@乔伊为什么不呢?我只是在我的VS中尝试了一下,效果很好。@Christos:是的,对不起,被数字格式字符串弄糊涂了,但是DateTime字符串甚至没有指定
,所以它们对格式字符串没有任何意义。奇怪的是,在日期/时间模式中,小数点没有以文化敏感的方式处理。更奇怪的是,ISO-8601允许句点和逗号,但更喜欢逗号。。。但大多数实现似乎忽略了这一点。请注意逗号和句点…@JonSkeet非常感谢@乔伊为什么不呢?我只是在我的VS中尝试了一下,效果很好。@Christos:是的,对不起,被数字格式字符串弄糊涂了,但是DateTime字符串甚至没有指定
,所以它们对格式字符串没有任何意义。奇怪的是,在日期/时间模式中,小数点没有以文化敏感的方式处理。更奇怪的是,ISO-8601允许句点和逗号,但更喜欢逗号。。。但大多数实现似乎忽略了这一点。