Home php教程 php手册 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime

微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime

Jun 13, 2016 am 11:28 AM
create platform develop WeChat interface Tutorial time information parse

从微信公众平台的消息接口指南中可以看出,每种类型的消息定义中,都包含有CreateTime参数,它表示消息的创建时间,如下图所示:

上图是消息接口指南中4.1-文本消息的定义。注意CreateTime的描述:消息创建时间(整型),重点在于这是一个整型的时间,而不是我们大家所熟悉的类似于"yyyy-MM-dd HH:mm:ss"的标准格式时间。本文主要想介绍的就是微信消息接口中定义的整型消息创建时间CreateTime的含义,以及如何将CreateTime转换成我们所熟悉的时间格式。

 

整型CreateTime的含义

消息接口中定义的消息创建时间CreateTime,它表示1970年1月1日0时0分0秒至消息创建时所间隔的秒数,注意是间隔的秒数,不是毫秒数!

 

整型CreateTime的转换

在Java中,我们也经常会通过下面两种方式获取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);
}
Copy after login

上面两种获取long类型时间的方法是等价的,获取到的结果表示当时时间距离1970年1月1日0时0分0秒0毫秒的毫秒数,注意这里是毫秒数!那么这里获取到的long类型的时间如何转换成标准格式的时间呢?方法如下:

/**
 * 演示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));
}
Copy after login

上面演示了将一个long类型的时间转换成标准格式的时间,只是简单的运用了SimpleDateFormat类,比较好懂的。那么再回到今天的主题上来,如何将CreateTime转换成标准格式的时间。

微信消息接口中的CreateTime表示距离1970年的秒数,而System.currentTimeMillis()表示距离1970年的毫秒数,它们之间的换算就相当于:1秒=1000毫秒,即将CreateTime乘以1000,就变成了距离1970年的毫秒数了,就可以使用上面的formatTime()方法来处理了,是不是很简单呢?

下面,我还是单另封装一个方法,用于将微信消息中的整型的消息创建时间CreateTime转换成标准格式的时间,如下:

/**
 * 将微信消息中的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));
}
Copy after login

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1662
14
PHP Tutorial
1261
29
C# Tutorial
1234
24
What is the difference between an abstract class and an interface in PHP? What is the difference between an abstract class and an interface in PHP? Apr 08, 2025 am 12:08 AM

The main difference between an abstract class and an interface is that an abstract class can contain the implementation of a method, while an interface can only define the signature of a method. 1. Abstract class is defined using abstract keyword, which can contain abstract and concrete methods, suitable for providing default implementations and shared code. 2. The interface is defined using the interface keyword, which only contains method signatures, which is suitable for defining behavioral norms and multiple inheritance.

Advanced Bootstrap Tutorial: Mastering Customization & Components Advanced Bootstrap Tutorial: Mastering Customization & Components Apr 04, 2025 am 12:04 AM

How to master Bootstrap customization and component usage includes: 1. Use CSS variables and Sass preprocessor for style customization; 2. Deeply understand and modify component structure and behavior. Through these methods, a unique user interface can be created to improve the responsiveness and user experience of the website.

Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Is the company's security software causing the application to fail to run? How to troubleshoot and solve it? Apr 19, 2025 pm 04:51 PM

Troubleshooting and solutions to the company's security software that causes some applications to not function properly. Many companies will deploy security software in order to ensure internal network security. ...

What is the difference between H5 page production and WeChat applets What is the difference between H5 page production and WeChat applets Apr 05, 2025 pm 11:51 PM

H5 is more flexible and customizable, but requires skilled technology; mini programs are quick to get started and easy to maintain, but are limited by the WeChat framework.

The difference between H5 and mini-programs and APPs The difference between H5 and mini-programs and APPs Apr 06, 2025 am 10:42 AM

H5. The main difference between mini programs and APP is: technical architecture: H5 is based on web technology, and mini programs and APP are independent applications. Experience and functions: H5 is light and easy to use, with limited functions; mini programs are lightweight and have good interactiveness; APPs are powerful and have smooth experience. Compatibility: H5 is cross-platform compatible, applets and APPs are restricted by the platform. Development cost: H5 has low development cost, medium mini programs, and highest APP. Applicable scenarios: H5 is suitable for information display, applets are suitable for lightweight applications, and APPs are suitable for complex functions.

How to solve the problem of JS resource caching in enterprise WeChat? How to solve the problem of JS resource caching in enterprise WeChat? Apr 04, 2025 pm 05:06 PM

Discussion on the JS resource caching issue of Enterprise WeChat. When upgrading project functions, some users often encounter situations where they fail to successfully upgrade, especially in the enterprise...

What should I do if the company's security software conflicts with applications? How to troubleshoot HUES security software causes common software to fail to open? What should I do if the company's security software conflicts with applications? How to troubleshoot HUES security software causes common software to fail to open? Apr 01, 2025 pm 10:48 PM

Compatibility issues and troubleshooting methods for company security software and application. Many companies will install security software in order to ensure intranet security. However, security software sometimes...

Ouyi Exchange app domestic download tutorial Ouyi Exchange app domestic download tutorial Mar 21, 2025 pm 05:42 PM

This article provides a detailed guide to safe download of Ouyi OKX App in China. Due to restrictions on domestic app stores, users are advised to download the App through the official website of Ouyi OKX, or use the QR code provided by the official website to scan and download. During the download process, be sure to verify the official website address, check the application permissions, perform a security scan after installation, and enable two-factor verification. During use, please abide by local laws and regulations, use a safe network environment, protect account security, be vigilant against fraud, and invest rationally. This article is for reference only and does not constitute investment advice. Digital asset transactions are at your own risk.

See all articles