推薦這個blog:

Award


(ASP.NET 2010、2011、2012年)

其他資源

簡體中文blog

最新回應

[.NET]仿Unix Time的TimeStamp

前言
在設計API給外部呼叫時,很常會用到時間戳記(TimeStamp),不管是用來確保本地端與遠端的順序或同步,或是用來檢查該訊息是否過期,或是拿來當加密的動態資料區塊。了解時戳的意義、目的後,要設計就真的是簡單到不行了。

時戳在wiki上的說明

時間戳記(Timestamp)是指在一連串的資料中加入辨識文字,如時間或日期,用以保障本地端(local)資料更新順序與遠端(remote)一致。

 

Unix Time在wiki上的說明

UNIX時間,或稱POSIX時間是UNIX類UNIX系統使用的時間表示方式:從協調世界時1970年1月1日000秒起至現在的總秒數,不包括閏秒

 

範例
需求就是取時戳的時間,是距離1970年1月1日多少秒數。(以Int32來說,該時戳可以用到2038年1月19日。)

    /// <summary>
    /// 產生現在的TimeStatmp
    /// </summary>
    public static class TimeStampGenerator
    {
        /// <summary>
        /// Gets the current time stamp.
        /// </summary>
        /// <returns>時戳</returns>
        public static string GetCurrentTimeStamp()
        {
            ////產生1970 - Now 的span
            TimeSpan span = DateTime.Now.ToLocalTime() - new DateTime(1970, 1, 1, 0, 0, 0, 0).ToLocalTime();

            ////回傳TotalSecond
            return Convert.ToInt32(span.TotalSeconds).ToString();
        }
    }


結論
這一篇也只是一個memo,給沒做過時戳的朋友當一個參考。


點部落-In Joey

↑ Grab this Headline Animator


關連文章

[.NET]在List.Add()時,請了解加入的item是參考位址

[ASP.NET]用Linq取CheckBoxList選取項目的值

[.NET]產生AES的Key與IV

[jQuery]將marquee plugin封裝成User Control

回應

  • # re: [.NET]仿Unix Time的TimeStamp by KKMAN

    91大,看您文章一段時間了。
    今天突然出現需要授權的登入畫面。(FireFox)
    網址是:http://www.cc2e.com。
    不知道這是否怪怪的。
    不知如何跟您連絡,在此留言。

    2011/11/17 下午 12:03 | 回覆

  • # re: [.NET]仿Unix Time的TimeStamp by KKMAN

    看您網頁的原始碼有這麼一段,不知是否與這有關係。

    <div class=out style='text-align:center'>
    <a href="http://www.cc2e.com/" rel="lightbox">
    <img width="200" title="Code Complete, Second Edition" style="border-width: 0px; display: inline;" alt="Code Complete, Second Edition" src="http://www.cc2e.com/_img/cc2e-cover-small.gif"/>
    </a>
    </div>

     

    2011/11/17 下午 12:05 | 回覆

  • # re: [.NET]仿Unix Time的TimeStamp by 91

    to KKMAN :

    感謝提醒,我之前都習慣用Chrome,所以沒發現這問題。

    我等等去把那一段拿掉,謝謝。
     

    2011/11/17 下午 12:47 | 回覆

登入後使用進階評論

Please add 7 and 4 and type the answer here: