【问题标题】:sql server and long date timesql server 和长日期时间
【发布时间】:2024-04-29 19:55:02
【问题描述】:

你好:
我需要将数据库中的 bigint 文件转换为等效的数据时间
我无法从 sqlserver 或 Visual Studio 执行此操作
我试过蜱虫,但没用 任何想法? 非常感谢

【问题讨论】:

  • 请在您的数据库中发布 bigint 值的示例
  • 对 bigint 有用的日期格式可能是“yyyymmddhhmmssmmm”。它将是可排序和人类可读的。
  • 数据库中的值看起来:1276162464406 和 1277290809250 但我不知道我刚到这里的日期时间的等效值,而且这些看起来不像滴答声

标签: sql-server visual-studio datetime bigint


【解决方案1】:

为什么不像在 SQL Server 中那样:获取分钟并将它们添加到 (dateTime.AddMinutes) 到 1900-01-01 ?

Convert .NET Ticks to SQL Server DateTime

(我们知道在 1900-01-01 滴答计数是 599266080000000000)

        long tNow = 634024345696365272;
        long t1900 = 599266080000000000;

        double minutes = (tNow - t1900) * Math.Pow((double)10,-7) / 60;
        var dataTime = DateTime.Parse("1900-01-01").AddMinutes(Math.Round(minutes));

【讨论】: