【问题标题】:Convert Unix Epoch Time to Seconds in SQL or .NET在 SQL 或 .NET 中将 Unix 纪元时间转换为秒
【发布时间】:2011-02-14 10:54:05
【问题描述】:

首先让我感谢大家的帮助。

我需要的是一个函数,它接收一个 EPOCH 时间戳,如 1452.235687,并将其转换为一个可读的时间戳,如“01-01-1970 00:00:00”。更具体地说,我只需要时间而不是日期。

如果可能的话,我更喜欢 .NET 函数而不是 SQL 存储过程。但是,SQL 存储过程也可以正常工作。

再次感谢您,

【问题讨论】:

    标签: .net sql time epoch


    【解决方案1】:

    您可以使用 UNIX 纪元 (1970-01-01) 创建一个 DateTime 对象并使用 AddSeconds 方法。

    PowerShell 演示:

    PS Home:> $e = [datetime]"1970-01-01"
    PS Home:> $e.AddSeconds(1452.235687).TimeOfDay
    
    Days              : 0
    Hours             : 0
    Minutes           : 24
    Seconds           : 12
    Milliseconds      : 236
    Ticks             : 14522360000
    TotalDays         : 0,016808287037037
    TotalHours        : 0,403398888888889
    TotalMinutes      : 24,2039333333333
    TotalSeconds      : 1452,236
    TotalMilliseconds : 1452236
    

    【讨论】:

      【解决方案2】:
      double EpochSeconds = 1272672608.55;
      DateTime time = new DateTime(1970, 1, 1).AddSeconds(EpochSeconds);
      Console.WriteLine(time);
      

      打印出来:

      5/1/2010 12:10:08 AM
      

      如果你只是想要时间,你可以使用time.TimeOfDay

      【讨论】:

        猜你喜欢
        • 2023-04-09
        • 2012-01-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-20
        相关资源
        最近更新 更多