`
starbhhc
  • 浏览: 655358 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

微信公众帐号开发教程第8篇-解析接口中的消息创建时间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] view plaincopy
 
  1. /** 
  2.  * 演示Java中常用的获取long类型时间的两种方式 
  3.  */  
  4. public static void main(String[] args) {  
  5.     long longTime1 = System.currentTimeMillis();  
  6.     // 1373206143378  
  7.     System.out.println(longTime1);  
  8.   
  9.     long longTime2 = new java.util.Date().getTime();  
  10.     // 1373206143381  
  11.     System.out.println(longTime2);  
  12. }  

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

[java] view plaincopy
 
  1. /** 
  2.  * 演示Java中常用的获取long类型时间的两种方式 
  3.  */  
  4. public static void main(String[] args) {  
  5.     // 当前时间(距离1970年1月1日0时0分0秒0毫秒的毫秒数)  
  6.     long longTime = 1373206143378L;  
  7.       
  8.     String stdFormatTime = formatTime(longTime);  
  9.     // 输出:2013-07-07 22:09:03  
  10.     System.out.println(stdFormatTime);  
  11. }  
  12.   
  13. /** 
  14.  * 将long类型的时间转换成标准格式(yyyy-MM-dd HH:mm:ss) 
  15.  *  
  16.  * @param longTime 
  17.  * @return 
  18.  */  
  19. public static String formatTime(long longTime) {  
  20.     DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  21.     return format.format(new Date(longTime));  
  22. }  

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

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

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

[java] view plaincopy
 
  1. /** 
  2.  * 将微信消息中的CreateTime转换成标准格式的时间(yyyy-MM-dd HH:mm:ss) 
  3.  *  
  4.  * @param createTime 消息创建时间 
  5.  * @return 
  6.  */  
  7. public static String formatTime(String createTime) {  
  8.     // 将微信传入的CreateTime转换成long类型,再乘以1000  
  9.     long msgCreateTime = Long.parseLong(createTime) * 1000L;  
  10.     DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
  11.     return format.format(new Date(msgCreateTime));  
  12. }
分享到:
评论

相关推荐

    JAVA微信开发资料

    微信公众帐号开发教程第 10 篇-解析接口中的消息创建时间 CreateTime61 微信公众帐号开发教程第 11 篇-符号表情的发送(上).63 微信公众帐号开发教程第 12 篇-符号表情的发送(下).76 微信公众帐号开发教程第 13 ...

    解析微信公众帐号接口中的消息创建时间CreateTime1

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

    微信公众平台开发Demo

    消息自动回复把消息推送中定义的所有消息都有的字段提取出来,封装成一个基类,这些公有的字段包括:ToUserName(开发者微信号)、FromUserName(发送方帐号,OPEN_ID)、CreateTime(消息的创建时间)、MsgType...

    微信系统开发设计方案

    消息结构包括ToUserName(开发者微信号)、FromUserName(发送方OpenID)、CreateTime(消息创建时间)、MsgType(消息类型,如text)、Content(文本内容)和MsgId(消息ID)。微信内容策划应围绕企业动态、行业...

    《微信小程序开发图解案例教程》教学教案-12记账本微信小程序云开发.docx

    《微信小程序开发图解案例教程》中的第8章主要讲解了如何使用微信小程序云开发来构建一个记账本应用。这个教程旨在让学生掌握云开发在数据管理中的应用,包括数据的增删查改以及分页查询。以下是相关知识点的详细...

    微信开发文档

    微信开发api开发指南 文本消息 <ToUserName><![CDATA[toUser]]> <FromUserName><![CDATA[fromUser]]></FromUserName> <CreateTime>1348831860</CreateTime> <MsgType><![CDATA[text]]> <Content><![CDATA...

    微信官方API文档

    - **文本消息**:当用户发送文本消息时,微信服务器会POST一个XML格式的文本消息到开发者服务器,包括ToUserName(开发者微信号)、FromUserName(发送方OpenID)、CreateTime(消息创建时间)、MsgType(text)和...

    微信接口ASP版

    微信接口ASP版,可生成以下调试文件 ####以下内容为接收##### <xml> <ToUserName><![CDATA[gh_33bb5907f91e]]> <FromUserName><![CDATA[ojLh3jkYtiszyEY-_sM_8yrNxSc4]]> <CreateTime>1363231643</...

    自开发微信API服务源码C#

    在本文中,我们将深入探讨如何使用C#语言自开发微信API服务,主要涵盖以下几个关键知识点:微信端接口开发、头像获取、消息发送、系统用户认证以及服务号菜单创建。这些功能是微信服务号运营中不可或缺的部分,对于...

    微信时间开发源码

    很好的php微信开发源码以下为xml需要下载详情: <ToUserName><![CDATA[%s]]> <FromUserName><![CDATA[%s]]> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]> <Content><![CDATA[%s]]> <FuncFlag>0 ...

    C#开发微信门户及应用 pdf

    该数据包括用户开放ID(FromUserName)、消息创建时间(CreateTime)、消息类型(MsgType,本例中为location)、地理位置的纬度(Location_X)、经度(Location_Y)、地图缩放级别(Scale)、地理位置描述(Label)...

    ASP微信开发者接入代码

    '********************************************** '注意事项 'ASP文件需要以UTF-8的格式保存,否则乱码. ...dim CreateTime '消息创建时间(整型) dim MsgType 'text dim Content '文本消息内容

    泛微ecology工作流WebService接口文档

    本文档旨在详细介绍泛微Ecology工作流中所使用的WebService接口的相关知识点,包括接口的功能、参数及返回值等细节,帮助开发人员更好地理解并利用这些接口来实现系统间的高效协同。 #### 提供的接口服务 1. **...

    基于Java访客系统对接微信通知钉钉通知完整源代码

    ### 基于Java访客系统的微信与钉钉通知实现 #### 一、概述 本文将详细介绍一个基于Java开发的访客管理系统如何实现对接微信与钉钉的通知功能,并提供了一段示例代码作为参考。该代码片段展示了如何保存访客记录、...

    express-wechat-msg:解析微信消息的ExpressJS中间件

    ExpressJS 中间件,用于解析微信消息。 用法 var getRawBody = require ( 'raw-body' ) var wechatMsg = require ( 'wechat-msg' ) app . use ( getRawBody ( ) ) app . use ( wechatMsg ( ) ) app . post ( '/...

    微信数据库解密工具 EnMicroMsg Decrypt 20200620

    微信数据库 EnMicroMsg.db 解密工具 EnMicroMsg_Decrypt 20200620 Android版微信的数据库是加密了的,本工具可根据提供的密码将数据库解密为明文数据库,方便用户浏览。 用法:EnMicroMsg_Decrypt EnMicroMsg.db ...

    C#开发微信门户及应用(3) 文本消息和图文消息应答

    总的来说,C#开发微信门户及应用涉及到消息的接收、解析、创建应答对象以及转换成微信接口所需的XML格式。通过对`BaseMessage`类的扩展和利用,可以方便地实现文本消息和图文消息的应答,从而提高开发效率。记得在...

    PHP实现微信公众平台音乐点播

    1.构造微信提供的XML格式的音乐消息音乐的XML格式是这样的:复制代码 代码如下:<xml> <ToUserName><![CDATA[toUser]]> <FromUserName><![CDATA[fromUser]]> <CreateTime>12345678</CreateTime> ...

    微信SDK分享功能Demo(附APK)

    微信SDK分享功能是移动应用开发中的一个重要组成部分,尤其在中国市场,由于微信的广泛使用,集成微信SDK进行分享已经成为许多应用的标准配置。这个Demo是开发者针对微信SDK实现分享功能的一个实例,包括将文本和...

    PB读取已知文件创建时间、修改时间111.zip

    在IT行业中,编程语言PowerBuilder(PB)是一个用于开发企业级应用程序的强大的工具。它具有丰富的功能,包括对文件系统的操作。在这个特定的场景中,我们关注的是如何使用PB来获取文件的创建时间和修改时间。这两个...

Global site tag (gtag.js) - Google Analytics