まず、お世話になった皆様に感謝いたします。
私が必要としているのは、1452.235687 のような EPOCH タイムスタンプを受け取り、それを「01-01-1970 00:00:00」のような読み取り可能なタイムスタンプに変換する関数です。より具体的には、日付ではなく時間だけが必要です。
可能であれば、SQL ストアド プロシージャではなく .NET 関数を使用したいと思います。ただし、SQL ストアド プロシージャも正常に機能します。
ありがとうございました、
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
。
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