2012-01-05 14 views
0

.NET DateTimeとUnixタイムスタンプの間で変換する2つの関数があります。しかし、(EPOCHとDateTimeパラメータの)タイムゾーンを考慮しているかどうかはわかりません。助けてください:DateTimeとunixタイムスタンプの間で変換する有効なC#の方法

public class Util 
{ 
    static DateTime EPOCH = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); 

    public static DateTime ConvertUnixTimeStamp(ulong unixTimeStamp) 
    { 
     var dt = EPOCH.AddSeconds(unixTimeStamp); 
     return dt; 
    } 

    public static double ConvertDatetimeToUnixTimeStamp(DateTime dt) 
    { 
     TimeSpan t = (dt - EPOCH); 
     return Math.Floor(t.TotalSeconds); 
    } 
} 
+0

の可能複製(http://stackoverflow.com/questions/249760/how-to-convert-unix-timestamp [日時及びその逆にUNIXタイムスタンプを変換する方法?] -to-datetime-and-versa) – TrueWill

+0

タイムゾーンが心配な方は、 'DateTime'を' DateTimeOffset'に置き換えてください –

答えて

0
static DateTime EPOCH = new System.DateTime(1970, 1, 1, 0, 0, 0, 0); 

    public static double ConvertDatetimeToUnixTimeStamp(DateTime date , int Time_Zone = 0) 
    { 
     TimeSpan The_Date = (date - EPOCH); 
     return Math.Floor(The_Date.TotalSeconds) - (Time_Zone * 3600); 
    } 
関連する問題