Comme le montre le guide interface des messages de la plateforme publique WeChat, chaque type de définition de message contient le paramètre CreateTime, qui représente l'heure de création du message, comme indiqué. dans la figure ci-dessous :
La figure ci-dessus est la définition de 4.1-Message texte dans le Guide de l'interface de message. Faites attention à la description de CreateTime : heure de création du message (entier ) Le fait est qu'il s'agit d'une heure entière, pas l'heure familière similaire à "aaaa-MM-jj". HH:mm:ss" heure au format standard. Cet article présente principalement la signification de l'heure entière de création de message CreateTime définie dans l'interface de message WeChat, et comment convertir CreateTime dans un format d'heure que nous connaissons.
La signification de l'entier CreateTime
heure de création du message CreateTime définie dans l'interface du message , il représente le nombre de secondes depuis 0:00:00 le 1er janvier 1970 jusqu'au moment où le message a été créé. Notez qu'il s'agit du nombre de secondes de l'intervalle, pas du nombre de millisecondes. !
Conversion d'entier CreateTime
En Java, on obtient souvent un temps de type long des deux manières suivantes, d'abord Code :
/** * 演示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); }
Les deux méthodes ci-dessus pour obtenir un temps de type long sont équivalentes. Le résultat obtenu indique que le temps est de 0:00:00.00 millisecondes à partir du 1er janvier 1970Nombre de millisecondes, notez qu'il s'agit du nombre de millisecondes ! Alors comment convertir l’heure de type long obtenue ici en une heure au format standard ? La méthode est la suivante :
/** * 演示Java中常用的获取long类型时间的两种方式 */ public static void main(String[] args) { // 当前时间(距离1970年1月1日0时0分0秒0毫秒的毫秒数) long longTime = 1373206143378L; String stdFormatTime = formatTime(longTime); // 输出:2013-07-07 22:09:03 System.out.println(stdFormatTime); } /** * 将long类型的时间转换成标准格式(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)); }
Ce qui précède démontre la conversion d'un temps de type long en un format standard. Il utilise simplement la classe SimpleDateFormat, qui est relativement facile à comprendre. Revenons donc au sujet d'aujourd'hui, comment convertir CreateTime en une heure au format standard.
CreateTime dans l'interface de message WeChat représente le nombre de secondes depuis 1970, tandis que System.currentTimeMillis() représente le nombre de millisecondes depuis 1970 , et la différence entre La conversion équivaut à : 1 seconde = 1 000 millisecondes. Multipliez CreateTime par 1 000 pour obtenir le nombre de millisecondes depuis 1970. Vous pouvez utiliser la méthode formatTime() ci-dessus pour le traiter.
Ensuite, j'encapsulerai une méthode distincte pour convertir l'heure entière de création des messages CreateTime dans les messages WeChat en une heure au format standard, comme suit :
/** * 将微信消息中的CreateTime转换成标准格式的时间(yyyy-MM-dd HH:mm:ss) * * @param createTime 消息创建时间 * @return */ public static String formatTime(String createTime) { // 将微信传入的CreateTime转换成long类型,再乘以1000 long msgCreateTime = Long.parseLong(createTime) * 1000L; DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); return format.format(new Date(msgCreateTime)); }
[Connexe recommandé】
1. Téléchargement du code source de la plateforme de compte public WeChat
3.Introduction au développement WeChatCreateTime
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!