php時間戳記問題 mktime gmmktime

來源:互聯網
上載者:User
我想擷取時間戳記,看到有兩個方法mktime()和gmmktime(),一個是擷取本地的時間戳記,一個是UTC的時間戳記,我列印出來後,時間戳記是一樣的,不是應該相差8個小時麼,本地的時間戳記是北京時間.有能夠解釋一下的麼?

回複內容:

我想擷取時間戳記,看到有兩個方法mktime()和gmmktime(),一個是擷取本地的時間戳記,一個是UTC的時間戳記,我列印出來後,時間戳記是一樣的,不是應該相差8個小時麼,本地的時間戳記是北京時間.有能夠解釋一下的麼?

恕我孤陋寡聞,時間戳記不都是UTC嗎,格式化之後才得到本地時間吧。

看了一下,這兩個函數的不同是對傳入的參數的處理。mktime預設是本地時間,gmmktime預設是格林尼治時間(GMT)。

比如上面的其他回答的例子,mktime(1,50,15,4,15,2012)返回的是本地時間2012年4月15日1時50分15秒的時間戳記,gmmktime(1,50,15,4,15,2012)返回的是GMT 2012年4月15日1時50分15秒的時間戳記,所以自然結果不同。

本地時間的時區是通過php.ini裡的date.timezone選項,或者調用date_default_timezone_set函數來設定。

如果省略參數,預設都是目前時間,自然就一樣了(就算你設定了時區,時間戳記還是基於UTC的,所以還是一樣)。

如果你只是想擷取目前時間戳,建議用time函數。上面的兩個函數主要是用於擷取特定的本地時間或GMT對應的時間戳記的。

是參數錯誤還是怎麼的,我這邊正常

';echo gmmktime(1,50,15,4,15,2012);

本地PHP有設定東八區時間嗎

http://www.cnblogs.com/mxw09/...

這個連結應該解釋的很清楚了

傳入具體的開始時間才對

不然預設傳入之後會轉化導致相同.

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.