如何在C#中将字符串转换为以毫秒为单位的日期时间

时间:2019-04-04 03:24:52

标签: c#

如何将此字符串转换为以毫秒为单位的日期时间

  

03/04/2019 15:16:57.73

     

格式为日/月/年时:分:秒:毫秒。

我这样尝试过:

var format = "dd/MM/yyyy HH:mm:ss.fff";

var year = dateTime.Substring(0, 4);
var month = dateTime.Substring(4, 2);
var day = dateTime.Substring(6,2);
var hour = dateTime.Substring(8, 2);
var minute = dateTime.Substring(10, 2);
var seconds = dateTime.Substring(12, 2);
var miiliseconds = dateTime.Substring(14, 2);
var stringDate = $@"{day}/{month}/{year} {hour}:{minute}:{seconds}.{miiliseconds}";
var transactioDateTime = DateTime.ParseExact(stringDate, format, CultureInfo.InvariantCulture);

但是我得到

的错误
  

其他信息:无法将字符串识别为有效的DateTime。

您能帮我吗?谢谢。

1 个答案:

答案 0 :(得分:3)

似乎您根本不​​需要子字符串。

只需将您的日期字符串放入ParseExact中,您将得到所需的内容。

但是由于您使用不同的毫秒格式而出现错误:它希望您在其中输入 3 位,但是只传递了两位

var dateTime = "03/04/2019 15:16:57.73";

var format = "dd/MM/yyyy HH:mm:ss.ff";-这就是解决方法。