C#時間戳記轉換

來源:互聯網
上載者:User

標籤:style   blog   http   java   color   資料   

基於.net的應用中,不會用到unix時間戳記,當.net應用與其它應用(eg: php, java)互動時,就會用到unix時間戳記。在項目中曾經用到過一次,使用者通過web app提交資料並分享給安卓app時,如果時間間隔在一分鐘內,資料才能算是真實有效,否則不予處理。還有asp.net開發中,經常會需要將對象序列化成json資料,js拼接成html,日期對象就會被序列化成如下形式:{“date”:”\/Date(1349839763373)\/”},js還無法識別,這時就不妨考慮下將日期轉換成unix時間戳記。

以下是C#下的日期與unix時間戳記的相互轉換:

/// <summary>/// 日期轉換成unix時間戳記/// </summary>/// <param name="dateTime"></param>/// <returns></returns>public static long DateTimeToUnixTimestamp(DateTime dateTime){    var start = new DateTime(1970, 1, 1, 0, 0, 0, dateTime.Kind);    return Convert.ToInt64((dateTime - start).TotalSeconds);}/// <summary>/// unix時間戳記轉換成日期/// </summary>/// <param name="unixTimeStamp">時間戳記(秒)</param>/// <returns></returns>public static DateTime UnixTimestampToDateTime(this DateTime target, long timestamp){    var start = new DateTime(1970, 1, 1, 0, 0, 0, target.Kind);    return start.AddSeconds(timestamp);}

說下這個日期(1970-1-1),現在電腦和一些電子裝置時間的計算和顯示是以距曆元(即格林威治標準時間 1970 年 1 月 1 日的 00:00:00.000,格里高利曆)的位移量為標準的,有人就戲稱英國的格林威治天文台是“時間開始的地方”。

 

附:

1. 各語言的時間戳記轉換:http://www.epochconverter.com/

2. unix時間介紹:http://en.wikipedia.org/wiki/Unix_time

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.