微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
来源:互联网 发布:淘宝网落地折叠式衣架 编辑:程序博客网 时间:2024/05/20 03:08
从微信公众平台的消息接口指南中可以看出,每种类型的消息定义中,都包含有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));
- }
如果觉得文章对你有所帮助,请通过留言或关注微信公众帐号xiaoqrobot来支持柳峰哦!
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第9篇-解析接口中的消息创建时间CreateTime
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime(10)
- [034] 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- [034] 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime .
- C语言一维数组
- hdoj1060_Leftmost Digit
- 微信公众帐号开发教程第9篇-QQ表情的发送与接收
- 45个实用的JavaScript技巧、窍门和最佳实践
- UVA 10120 - Gift?!
- 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime
- Qt 子窗体透明度设置
- 安卓学习笔记——关于短信的屏蔽
- C语言入门
- 微信公众帐号开发教程第11篇-符号表情的发送(上)
- 函数模板
- 微信公众帐号开发教程第12篇-符号表情的发送(下)
- sql一些题
- 微信公众帐号开发教程第13篇-图文消息全攻略