溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信公眾號開發(fā)中CreateTime的示例分析

發(fā)布時間:2021-09-15 18:12:27 來源:億速云 閱讀:346 作者:小新 欄目:移動開發(fā)

這篇文章給大家分享的是有關(guān)微信公眾號開發(fā)中CreateTime的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

從微信公眾平臺的消息接口指南中可以看出,每種類型的消息定義中,都包含有CreateTime參數(shù),它表示消息的創(chuàng)建時間,如下圖所示:

微信公眾號開發(fā)中CreateTime的示例分析

上圖是消息接口指南中4.1-文本消息的定義。注意CreateTime的描述:消息創(chuàng)建時間(整型),重點在于這是一個整型的時間,而不是我們大家所熟悉的類似于"yyyy-MM-dd HH:mm:ss"的標(biāo)準(zhǔn)格式時間。本文主要想介紹的就是微信消息接口中定義的整型消息創(chuàng)建時間CreateTime的含義,以及如何將CreateTime轉(zhuǎn)換成我們所熟悉的時間格式。

整型CreateTime的含義

消息接口中定義的消息創(chuàng)建時間CreateTime,它表示1970年1月1日0時0分0秒至消息創(chuàng)建時所間隔的秒數(shù),注意是間隔的秒數(shù),不是毫秒數(shù)!

整型CreateTime的轉(zhuǎn)換

在Java中,我們也經(jīng)常會通過下面兩種方式獲取long類型的時間,先上代碼:

/**
 * 演示Java中常用的獲取long類型時間的兩種方式
 */
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類型時間的方法是等價的,獲取到的結(jié)果表示當(dāng)時時間距離1970年1月1日0時0分0秒0毫秒的毫秒數(shù),注意這里是毫秒數(shù)!那么這里獲取到的long類型的時間如何轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時間呢?方法如下:

/**
 * 演示Java中常用的獲取long類型時間的兩種方式
 */
public static void main(String[] args) {
	// 當(dāng)前時間(距離1970年1月1日0時0分0秒0毫秒的毫秒數(shù))
	long longTime = 1373206143378L;
	
	String stdFormatTime = formatTime(longTime);
	// 輸出:2013-07-07 22:09:03
	System.out.println(stdFormatTime);
}

/**
 * 將long類型的時間轉(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));
}

上面演示了將一個long類型的時間轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時間,只是簡單的運用了SimpleDateFormat類,比較好懂的。那么再回到今天的主題上來,如何將CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時間。

微信消息接口中的CreateTime表示距離1970年的秒數(shù),而System.currentTimeMillis()表示距離1970年的毫秒數(shù),它們之間的換算就相當(dāng)于:1秒=1000毫秒,即將CreateTime乘以1000,就變成了距離1970年的毫秒數(shù)了,就可以使用上面的formatTime()方法來處理了,是不是很簡單呢?

下面,我還是單另封裝一個方法,用于將微信消息中的整型的消息創(chuàng)建時間CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時間,如下:

/**
 * 將微信消息中的CreateTime轉(zhuǎn)換成標(biāo)準(zhǔn)格式的時間(yyyy-MM-dd HH:mm:ss)
 * 
 * @param createTime 消息創(chuàng)建時間
 * @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)于“微信公眾號開發(fā)中CreateTime的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI