微信公众号开发中CreateTime的示例分析

这篇文章给大家分享的是有关微信公众号开发中CreateTime的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

成都创新互联服务项目包括三沙网站建设、三沙网站制作、三沙网页制作以及三沙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,三沙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到三沙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

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

微信公众号开发中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);
}

上面两种获取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));
}

上面演示了将一个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));
}

感谢各位的阅读!关于“微信公众号开发中CreateTime的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

分享标题:微信公众号开发中CreateTime的示例分析
转载注明:https://www.cdcxhl.com/article6/gdjgog.html

成都网站建设公司_创新互联,为您提供商城网站网站维护手机网站建设用户体验定制开发云服务器

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司