2010-05-01 49 views
0

首先讓我感謝大家的幫助。將Unix時代轉換爲SQL或.NET中的秒數

我需要的是一個函數,它接受一個EPOCH時間戳,如1452.235687,並將它轉換爲可讀的時間戳,如'01 -01-1970 00:00:00'。更具體地說,我只需要時間而不是日期。

如果可能,我寧願使用.NET函數而不使用SQL存儲過程。但是,SQL存儲過程也可以很好地工作。

再次感謝您,

回答

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

+0

謝謝tzaman,這是完美的! – CodingIsAwesome 2010-05-03 16:12:44

+0

不客氣! :) – tzaman 2010-05-03 17:53:37

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 
相關問題