0

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

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

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

再次感谢你,

4

2 回答 2

4
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.

于 2010-05-01T00:12:20.813 回答
0

您可以使用 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
于 2010-05-01T00:09:36.273 回答