【问题标题】:Date Conversion from value in C#从 C# 中的值转换日期
【发布时间】:2011-05-17 09:15:35
【问题描述】:

是否有人可能将以下值“40195.315752”识别为日期?我需要将此基于值的日期转换/格式化为 System.DateTime 对象,但不了解它的格式。

谢谢。

【问题讨论】:

  • 你知道那个特定的值是什么意思吗?也许是“自 1900 年 1 月 1 日 1 月 1 日午夜以来的天数”?
  • 嗨。你能分享这个值的来源吗?可能对我们有点帮助。
  • 你在哪里找到这种时间格式?
  • 感谢您的所有帮助。 long-value 表示专辑添加到点唱机应用程序的日期,来自点唱机播放器使用的专辑数据库。

标签: c# datetime date date-format


【解决方案1】:

这是一个serial date-time,这意味着它是自特定日期以来的天数。请注意,您需要知道它的偏移日期。在 Excel 中,这将是 1900 年 1 月 1 日,这使您的日期为17/01/2010 07:34:41,但其他程序会有所不同。

另一个常见的开始日期是 1970 年 1 月 1 日(Unix 纪元)。

【讨论】:

    【解决方案2】:

    好好享受吧:

    DateTime.FromOADate(40195.315752).ToLongDateString()
    

    并将其转换为日期时间

    DateTime MyDateTime = DateTime.FromOADate(40195.315752);
    

    意思是Sunday,January 17 2010

    【讨论】:

      【解决方案3】:

      这可能是从某个日期(可能是 1900 年 1 月 1 日)到小数点之前的天数?

      【讨论】:

        【解决方案4】:

        您显示的值是双精度...

        var val = 40195.315752;
                    var span = System.TimeSpan.FromMilliseconds(val);
                    var time = new DateTime(span.Ticks);
        

        上面会将其转换为 Datetime 但请务必注意 System.Timespan 连续几个重载以加载跨度您需要确定哪个是您想要的...

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-09
          • 2018-07-06
          • 2013-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多