・C#
using System; class Program { static void Main() { // 現在日時を表すDateTimeオブジェクトを取得 DateTime targetTime = DateTime.Now; long unixTime = GetUnixTime(targetTime); Console.WriteLine(unixTime.ToString()); // 出力例:1266864932 Console.ReadLine(); } // UNIXエポックを表すDateTimeオブジェクトを取得 private static DateTime UNIX_EPOCH = new DateTime(1970, 1, 1, 0, 0, 0, 0); public static long GetUnixTime(DateTime targetTime) { // UTC時間に変換 targetTime = targetTime.ToUniversalTime(); // UNIXエポックからの経過時間を取得 TimeSpan elapsedTime = targetTime - UNIX_EPOCH; // 経過秒数に変換 return (long)elapsedTime.TotalSeconds; } }
・VB.net
Module Module1 Sub Main() ' 現在日時を表すDateTimeオブジェクトを取得 Dim targetTime As DateTime = DateTime.Now Dim unixTime As Long = GetUnixTime(targetTime) Console.WriteLine(unixTime.ToString()) ' 出力例:1266864932 Console.ReadLine() End Sub ' UNIXエポックを表すDateTimeオブジェクトを取得 Private UNIX_EPOCH As DateTime = _ New DateTime(1970, 1, 1, 0, 0, 0, 0) Private Function GetUnixTime(ByVal targetTime As DateTime) As Long ' UTC時間に変換 targetTime = targetTime.ToUniversalTime() ' UNIXエポックからの経過時間を取得 Dim elapsedTime As TimeSpan = targetTime - UNIX_EPOCH ' 経過秒数に変換 Return CType(elapsedTime.TotalSeconds, Long) End Function End Module