這篇文章給大家分享的是有關(guān)微信公眾號(hào)開發(fā)中CreateTime的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括三沙網(wǎng)站建設(shè)、三沙網(wǎng)站制作、三沙網(wǎng)頁制作以及三沙網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,三沙網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到三沙省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
從微信公眾平臺(tái)的消息接口指南中可以看出,每種類型的消息定義中,都包含有CreateTime參數(shù),它表示消息的創(chuàng)建時(shí)間,如下圖所示:
上圖是消息接口指南中4.1-文本消息的定義。注意CreateTime的描述:消息創(chuàng)建時(shí)間(整型),重點(diǎn)在于這是一個(gè)整型的時(shí)間,而不是我們大家所熟悉的類似于"yyyy-MM-dd HH:mm:ss"的標(biāo)準(zhǔn)格式時(shí)間。本文主要想介紹的就是微信消息接口中定義的整型消息創(chuàng)建時(shí)間CreateTime的含義,以及如何將CreateTime轉(zhuǎn)換成我們所熟悉的時(shí)間格式。
整型CreateTime的含義
消息接口中定義的消息創(chuàng)建時(shí)間CreateTime,它表示1970年1月1日0時(shí)0分0秒至消息創(chuàng)建時(shí)所間隔的秒數(shù),注意是間隔的秒數(shù),不是毫秒數(shù)!
整型CreateTime的轉(zhuǎn)換
在Java中,我們也經(jīng)常會(huì)通過下面兩種方式獲取long類型的時(shí)間,先上代碼:
/** * 演示Java中常用的獲取long類型時(shí)間的兩種方式 */ public static void main(String[] args) { long longTime1 = System.currentTimeMillis(); // 1373206143378 System.out.println(longTime1); long longTime2 = new java.util.Date().getTime(); // 1373206143381 System.out.println(longTime2); }
上面兩種獲取long類型時(shí)間的方法是等價(jià)的,獲取到的結(jié)果表示當(dāng)時(shí)時(shí)間距離1970年1月1日0時(shí)0分0秒0毫秒的毫秒數(shù),注意這里是毫秒數(shù)!那么這里獲取到的long類型的時(shí)間如何轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時(shí)間呢?方法如下:
/** * 演示Java中常用的獲取long類型時(shí)間的兩種方式 */ public static void main(String[] args) { // 當(dāng)前時(shí)間(距離1970年1月1日0時(shí)0分0秒0毫秒的毫秒數(shù)) long longTime = 1373206143378L; String stdFormatTime = formatTime(longTime); // 輸出:2013-07-07 22:09:03 System.out.println(stdFormatTime); } /** * 將long類型的時(shí)間轉(zhuǎn)換成標(biāo)準(zhǔn)格式(yyyy-MM-dd HH:mm:ss) * * @param longTime * @return */ public static String formatTime(long longTime) { DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(new Date(longTime)); }
上面演示了將一個(gè)long類型的時(shí)間轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時(shí)間,只是簡(jiǎn)單的運(yùn)用了SimpleDateFormat類,比較好懂的。那么再回到今天的主題上來,如何將CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時(shí)間。
微信消息接口中的CreateTime表示距離1970年的秒數(shù),而System.currentTimeMillis()表示距離1970年的毫秒數(shù),它們之間的換算就相當(dāng)于:1秒=1000毫秒,即將CreateTime乘以1000,就變成了距離1970年的毫秒數(shù)了,就可以使用上面的formatTime()方法來處理了,是不是很簡(jiǎn)單呢?
下面,我還是單另封裝一個(gè)方法,用于將微信消息中的整型的消息創(chuàng)建時(shí)間CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時(shí)間,如下:
/** * 將微信消息中的CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時(shí)間(yyyy-MM-dd HH:mm:ss) * * @param createTime 消息創(chuàng)建時(shí)間 * @return */ public static String formatTime(String createTime) { // 將微信傳入的CreateTime轉(zhuǎn)換成long類型,再乘以1000 long msgCreateTime = Long.parseLong(createTime) * 1000L; DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(new Date(msgCreateTime)); }
感謝各位的閱讀!關(guān)于“微信公眾號(hào)開發(fā)中CreateTime的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!