在微信公眾號開發中,與微信伺服器互動的幾乎所有介面中的時間參數都是以整數為類型的,要正確的展示時間那必須進行轉換。
關於時間整型的描述:
最初電腦作業系統是32位,而時間也是用32位表示。 32位能表示的最大值是2147483647。另外1年365天的總秒數是31536000,2147483647/31536000 = 68.1,也就是說32位能表示的最長時間是68年,而實際上到2038年01月19日03時14分07秒,便會到達最大時間,過了這個時間點,所有32位元作業系統時間便會變成10000000 00000000 00000000 00000000,也就是1901年12月13日20時45分52秒,這樣便會出現時間回歸的現象,很多軟體便會運作異常了。到這裡,我想問題的答案已經出來了:因為用32位來表示時間的最大間隔是68年,而最早出現的UNIX操作系統考慮到計算機產生的年代和應用的時限綜合取了1970年1月1日作為UNIX TIME的紀元時間(開始時間),至於時間回歸的現象相信隨著64為作業系統的產生逐漸得到解決,因為用64位元作業系統可以表示到292,277,026,596年12月4日15時30分08秒,相信我們的N代子孫,就算地球毀滅那天都不用愁不夠用了,因為這個時間已經是千億年以後了。
也就是說:時間整數其實就是 1970年1月1日以來的秒數,那麼原理弄清楚了,這就簡單了。
轉換程式碼如下顯示:
public static String paserTime(int time){ System.setProperty("user.timezone", "Asia/Shanghai"); TimeZone tz = TimeZone.getTimeZone("Asia/Shanghai"); TimeZone.setDefault(tz); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String times = format.format(new Date(time * 1000L)); System.out.print("日期格式---->" + times); return times; }
以上是微信開發中如何進行時間轉換程式碼實例介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!