【问题标题】:Convert Time with milliseconds to dateTime in c# [closed]在c#中将时间与毫秒转换为dateTime [关闭]
【发布时间】:2018-10-05 12:19:44
【问题描述】:

我正在尝试将 Time string 转换为 DateTime 但不能。

示例:时间:12:05:45.458 需要将毫秒转换为时间。

有什么办法吗?

【问题讨论】:

  • 你的意思是你想要今天的日期和那个时间?
  • 显示你当前使用的代码。
  • DateTime,顾名思义,包含日期和时间。既然你只有时间,那么日期应该用什么?另外,你试过什么?
  • 你确定你指的不是TimeSpan吗?你可以在这里查看。 stackoverflow.com/questions/24369059/…

标签: c# time


【解决方案1】:

简单的解决方案:

 string time = "12:05:45.458";
    DateTime dateTime = DateTime.ParseExact(time, "HH:mm:ss.fff",
                                            CultureInfo.InvariantCulture);

【讨论】:

  • 毫秒部分在哪里?而且我认为无论如何它都会失败并出现异常。
  • @TanveerBadar 是的,忘了几秒钟)
  • 我会收回我的反对票,但我们现在基本上有 3 个相同的答案。
  • 我的仍然是独一无二的:P
【解决方案2】:

您正在这里寻找Timespan.Parse()。由于您没有任何日期组件,因此无法明确转换为 DateTime 实例。

【讨论】:

    【解决方案3】:

    DateTime.ParseExact 应该可以解决这个问题

    DateTime result = DateTime.ParseExact("12:05:45.458", "HH:mm:ss.fff", CultureInfo.InvariantCulture);
    

    【讨论】:

      【解决方案4】:

      DateTime.ParseExtract 将解析给定时间并转换为以日期为当前日期的 DateTime 对象。

      var dateTime = DateTime.ParseExact("12:05:45.458", "HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture);
      Console.WriteLine(dateTime);
      

      【讨论】:

        猜你喜欢
        • 2022-01-17
        • 1970-01-01
        • 2013-10-12
        • 2021-01-21
        • 2018-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多