如何將Unix時間戳轉換為日期時間,反之亦然?這里有一個示例代碼,但隨后它開始討論毫秒/納秒問題。同樣的問題也出現(xiàn)在MSDN上,自C#中的Unix時代以來的秒數(shù).到目前為止,這就是我所得到的:public Double CreatedEpoch{
get {
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
TimeSpan span = (this.Created.ToLocalTime() - epoch);
return span.TotalSeconds;
}
set
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();
this.Created = epoch.AddSeconds(value);
}}
4 回答

人到中年有點甜
TA貢獻1895條經(jīng)驗 獲得超7個贊
public static DateTime UnixTimeStampToDateTime( double unixTimeStamp ){ // Unix timestamp is seconds past epoch System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc); dtDateTime = dtDateTime.AddSeconds( unixTimeStamp ).ToLocalTime(); return dtDateTime;}
public static DateTime JavaTimeStampToDateTime( double javaTimeStamp ){ // Java timestamp is milliseconds past epoch System.DateTime dtDateTime = new DateTime(1970,1,1,0,0,0,0,System.DateTimeKind.Utc); dtDateTime = dtDateTime.AddMilliseconds( javaTimeStamp ).ToLocalTime(); return dtDateTime;}

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
以秒為單位的Unix時間到UTC DateTimeOffset
:
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeSeconds(1000);
DateTimeOffset
以秒為單位的Unix時間:
long unixTimeStampInSeconds = dateTimeOffset.ToUnixTimeSeconds();
Unix時間(毫秒到UTC) DateTimeOffset
:
DateTimeOffset dateTimeOffset = DateTimeOffset.FromUnixTimeMilliseconds(1000000);
DateTimeOffset
以毫秒為單位的Unix時間:
long unixTimeStampInMilliseconds = dateTimeOffset.ToUnixTimeMilliseconds();
DateTimeOffset
DateTime
DateTimeOffset.UtcDateTime
DateTimeOffset.LocalDateTime
DateTime dateTime = dateTimeOffset.UtcDateTime;

慕仙森
TA貢獻1827條經(jīng)驗 獲得超8個贊
public static double DateTimeToUnixTimestamp(DateTime dateTime){ return (TimeZoneInfo.ConvertTimeToUtc(dateTime) - new DateTime(1970, 1, 1, 0, 0, 0, 0, System.DateTimeKind.Utc)).TotalSeconds;}
- 4 回答
- 0 關注
- 1239 瀏覽
添加回答
舉報
0/150
提交
取消