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

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

整型CreateTime的含义

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

整型CreateTime的转换

在Java中,我们也常常会通过以下两种方式获取long类型的时间,先上代码:

  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. long longTime2 = new java.util.Date().getTime();
  9. // 1373206143381
  10. System.out.println(longTime2);
  11. }

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

  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. String stdFormatTime = formatTime(longTime);
  8. // 输出:2013-07-07 22:09:03
  9. System.out.println(stdFormatTime);
  10. }
  11. /**
  12. * 将long类型的时间转换成标准格式(yyyy-MM-dd HH:mm:ss)
  13. *
  14. * @param longTime
  15. * @return
  16. */
  17. public static String formatTime(long longTime) {
  18. DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  19. return format.format(new Date(longTime));
  20. }

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

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

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

  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. }

假设认为文章对你有所帮助,请通过留言或关注微信公众帐号xiaoqrobot来支持柳峰哦!

[034] 微信公众帐号开发教程第10篇-解析接口中的消息创建时间CreateTime(转)的更多相关文章

  1. [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收(转)

    我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是怎样在微信公众平台使用QQ表情, ...

  2. [033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收

    我想大家对QQ表情一定不会陌生,一个个小头像极大丰富了聊天的乐趣,使得聊天不再是简单的文字叙述,还能够配上喜.怒.哀.乐等表达人物心情的小图片.本文重点要介绍的内容就是如何在微信公众平台使用QQ表情, ...

  3. [039] 微信公众帐号开发教程第15篇-自定义菜单的view类型(访问网页)

    引言及内容概要 距离写上一篇文章<自定义菜单的创建及菜单事件响应>整整过了两个月的时间,那时公众平台还没有开放view类型的菜单.在不久前,微信公众平台悄悄开放了view类型的菜单,却没有 ...

  4. 微信公众帐号开发教程第4篇-----开发模式启用及接口配置Java

    欢迎加入群:347245650   345531810 进行讨论相互交流  我的微信号:572839485 我的微信公众账号  我的微社区欢迎关注 索取源码←请点击 图床:没有服务器 拖拽图片 外网即 ...

  5. 微信学习总结 09 解析接口中的消息创建时间CreateTime

    1 消息的创建时间 网页超链接的作用以及如何在文本消息中使用网页超链接 2. 具体实现 刘峰博主的博文已经分析的很清楚了,直接去看就行了 .http://blog.csdn.net/lyq8479/a ...

  6. 微信公众帐号开发。大家是用框架还是自己写的流程。现在遇到若干问题。请教各路大仙 - V2EX

    微信公众帐号开发.大家是用框架还是自己写的流程.现在遇到若干问题.请教各路大仙 - V2EX 微信公众帐号开发.大家是用框架还是自己写的流程.现在遇到若干问题.请教各路大仙

  7. 微信公众帐号开发之一(java)

    闲来没事,就记录一下微信公众平台的开发吧~ 其实微信公众平台开发没有想象中的那么困难,因为注册了微信公众平台帐号登录之后在开发者模式里有详细的文档,个人感觉介绍还是比较详细的. 微信公众平台订阅号和服 ...

  8. 微信公众帐号开发-消息创建时间long型与标准时间的互相转换

    /**  *   */ package com.hd.admin.wxmeet.utils; /**  * @author jymcpp  *  */ import java.text.DateFor ...

  9. 微信公众平台应用开发:方法、技巧与案例--柳峰,Java语言版本

    他本人的博客:http://blog.csdn.net/lyq8479 作者简介: 刘运强,网名“柳峰”,资深微信公众平台应用开发工程师,国内微信公众平台应用开发的先驱之一,项目经验丰富.他还是一位资 ...

随机推荐

  1. TextView实现多个TextView对象的走马灯效果

    1:自定义一个控件继承TextView,重写isFocused方法,返回值为true; package com.example.helloandroid; import android.R.bool; ...

  2. Sed简介 (转)

    Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...

  3. GSAP学习笔记

    GSAP(Green Sock Animation Platform)是一个十分好用的js动画库,据说是as的精简版 以下是学习GSAP的一些笔记:貌似中文的文档不是很多 GSAP notes: tl ...

  4. 转: c++继承中的内存布局

    英文原文: http://www.openrce.org/articles/files/jangrayhood.pdf 翻译: http://blog.csdn.net/jiangyi711/arti ...

  5. china-pub

    #!/usr/bin/env python                         #coding:utf-8import urllib2,re,sys,os,types            ...

  6. icon-font图标介绍

    前言 像素完美(Pixel Perfection).分辨率无关(Resolution Independent)和多平台体验一致性是设计师们的追求. 可访问性(Accessability).加载性能和重 ...

  7. org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir svn: Working c

    Eclipse插入svn提交出现:org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked d ...

  8. Android之TextView------LINK的点击事件

    package com.TextHtml; import android.app.Activity; import android.content.Context; import android.os ...

  9. java字符串输出

    package mytest; public class Mycode { public static void main(String[] args){ String[]seasons = {&qu ...

  10. svn笔记

    安装部署 1.yum install subversion   2.创建svn版本库目录 mkdir -p /svn   3.创建版本库 svnadmin create /svn/fengchao/ ...