从微信公众平台的消息接口指南中可以看出,每种类型的消息定义中,都包含有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 篇-解析接口中的消息创建时间 CreateTime61 微信公众帐号开发教程第 11 篇-符号表情的发送(上).63 微信公众帐号开发教程第 12 篇-符号表情的发送(下).76 微信公众帐号开发教程第 13 ...
下面,我还是单另封装一个方法,用于将微信消息中的整型的消息创建时间CreateTime转换成标准格式的时间,如下:[java] view plaincopy/*
消息自动回复把消息推送中定义的所有消息都有的字段提取出来,封装成一个基类,这些公有的字段包括:ToUserName(开发者微信号)、FromUserName(发送方帐号,OPEN_ID)、CreateTime(消息的创建时间)、MsgType...
微信开发api开发指南 文本消息 <ToUserName><![CDATA[toUser]]> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]> <Content><![CDATA...
微信接口ASP版,可生成以下调试文件 ####以下内容为接收##### <xml> <ToUserName><![CDATA[gh_33bb5907f91e]]> <FromUserName><![CDATA[ojLh3jkYtiszyEY-_sM_8yrNxSc4]]> <CreateTime>1363231643</...
很好的php微信开发源码以下为xml需要下载详情: <ToUserName><![CDATA[%s]]> <FromUserName><![CDATA[%s]]> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]> <Content><![CDATA[%s]]> <FuncFlag>0 ...
'********************************************** '注意事项 'ASP文件需要以UTF-8的格式保存,否则乱码. ...dim CreateTime '消息创建时间(整型) dim MsgType 'text dim Content '文本消息内容
1.构造微信提供的XML格式的音乐消息音乐的XML格式是这样的:复制代码 代码如下:<xml> <ToUserName><![CDATA[toUser]]> <FromUserName><![CDATA[fromUser]]> <CreateTime>12345678</CreateTime> ...
java写微信机器⼈_Java版微信机器⼈代码 public String getContent() { return content; public void setContent(String content) { this.content = content; public String getMessageType() { return messageType;...
ExpressJS 中间件,用于解析微信消息。 用法 var getRawBody = require ( 'raw-body' ) var wechatMsg = require ( 'wechat-msg' ) app . use ( getRawBody ( ) ) app . use ( wechatMsg ( ) ) app . post ( '/...
这个不是全部的代码哦,只是一个演示可以验证跟接受post传过来的消息并且能返回消息,中间的回复逻辑就待需要各位同志们自己写了哈 代码如下: /* *@go语言实现公众平台 */ package main import ( “crypto/...
微信平台中所有的接受信息,发送信息,按钮菜单等POJO对象,还有用到的常量。 下面是个抽象出来的Message父类,下面还有ImageRequestMessage等子类 @XmlRootElement(name = "xml") @XmlAccessorType(XmlAccessType....
本文实例为大家分享了php微信公众号开发之图片回复的具体代码,供大家参考,具体内容如下 ...随机函数: ... <CreateTime>%s</CreateTime> <MsgType><![CDATA]> <Content><![CDATA[%s]]></C
微信开发生成带参数的二维码的讲解 在微信公众号平台开发者那里,在“账号管理”那里,有一项功能是“生成带参数的二维码”,通过这儿生成的二维码,只要通过微信扫一扫之后,会把事件自动推送到微信公众号上 用...
"<CreateTime>"&now&"</CreateTime>" &_ "<MsgType>news</MsgType>" &_ "<ArticleCount>3</ArticleCount>" &_ "<Articles>" &_ "<item>" &_ "百姓厨房服务范围</Title>" &_ "为企业提供专业的、全面的、量身定制的...
第一篇发展背景和发展目标CreateTime.ppt
本文实例为大家分享了php微信公众号音乐信息的具体代码,供大家参考,具体内容如下 高品质—-HQMusicUrl 低品质—-MusicUrl ... <CreateTime>%s</CreateTime> <MsgType><![CDATA[music]]> <Musi
在微信公众服务号开发需求中经常有获取用户位置信息的功能,通过用户的位置信息,可以做一些地图导航,以及基于LBS的营销活动。 下面通过给大家介绍微信服务号获取用户位置信息的原理与步骤。 原理 1. 位置信息获取...
群组表(group):id、群组名称、创建人id、创建时间 "字段名称 "类型 "是否为空 "备注 " "id "int "否 "id " "name "nvarchar(50) "否 "群组名称 " "createuser "nvarchar(50) "否 "创建人 " "createtime "datetime...
#### 项目中的sql.txt文档中是创建对应表格所需的sql语句 ## api接口说明文档 #### 一,获取pv访问量 - url:https://30paotui.com/pv/2048/list - 请求方式:get - 返回的json数据如下 ``` { "code": 100, ...