微信公众帐号开发教程第9篇-解析接口中的消息创建时间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 plain  copy
  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 plain  copy
  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 plain  copy
  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. }  
### 回答1: JavaScript 中的 sort 函数用于对数组进行排序。默认情况下,sort 按字典序升序排序数组中的元素。 语法: ``` array.sort() ``` 例子: ``` let fruits = ['apple', 'banana', 'kiwi', 'mango']; fruits.sort(); console.log(fruits); //expected output: Array ["apple", "banana", "kiwi", "mango"] ``` 可以传递一个比较函数来定制如何排序。 语法: ``` array.sort(compareFunction) ``` 例子: ``` let points = [40, 100, 1, 5, 25, 10]; points.sort(function(a, b){return a - b}); console.log(points); //expected output: Array [1, 5, 10, 25, 40, 100] ``` 请注意,sort() 方法会改变原始数组。 ### 回答2: 在 JavaScript 中,sort() 函数用于对数组元素进行排序。该函数可以按照默认的字母顺序对数组进行排序,也可以使用自定义的排序函数进行排序。 sort() 函数改变原始数组,它不仅会修改数组的顺序,而且直接在原数组上进行操作,不会创建新的数组。 默认情况下,sort() 函数会将数组元素按照字母顺序升序排列。如果数组元素都是字符串类型,那么会按照字母顺序排序;如果数组元素是数字类型,那么会按照数字大小升序排序。 使用 sort() 函数时,你可以传入一个可选的比较函数作为参数,来定义自定义的排序方式。比较函数接受两个参数,分别代表要比较的两个元素,然后根据需要的排序规则返回一个负数、零或正数。 例如,要按照数字大小降序排列一个包含数字的数组,可以这样使用 sort() 函数: ```javascript let numbers = [5, 1, 3, 2, 4]; numbers.sort(function(a, b) { return b - a; }); console.log(numbers); // 输出: [5, 4, 3, 2, 1] ``` 上述的比较函数将两个元素相减,如果结果为负数,则表示 a 小于 b,应该将 a 排在 b 前面,如果结果为正数,则表示 a 大于 b,应该将 a 排在 b 后面,如果结果为零,则表示 a 等于 b,顺序不变。 总结起来,sort() 函数可以按照默认的字母顺序对数组元素进行排序,也可以使用自定义的比较函数进行排序。这个函数是 JavaScript 数组中非常常用的一个函数,可以帮助我们轻松地对数组进行排序操作。 ### 回答3: JavaScriptsort函数是数组的一个方法,用于对数组元素进行排序。它可以按照默认的字母顺序对元素进行排序,也可以使用一个比较函数自定义排序方式。 sort函数的使用方式如下: 1. 使用默认排序方式:sort()函数不传入任何参数时,默认按照数组的元素转化为字符串后的字母顺序进行排序。例如,对于数字数组[5, 2, 9, 1, 3],使用sort()排序后的结果是[1, 2, 3, 5, 9]。 2. 使用比较函数自定义排序:sort()函数可以接受一个比较函数作为参数,此函数用于指定数组元素的比较方式。比较函数需要返回一个负数、0或正数,分别表示第一个参数小于、等于或大于第二个参数。例如,对于数字数组[5, 2, 9, 1, 3],可以编写以下比较函数进行自定义排序: ```javascript function compareNumbers(a, b) { return a - b; } ``` 然后使用sort(compareNumbers)进行排序,将得到[1, 2, 3, 5, 9]。如果要按照降序排序,只需在比较函数内部更改返回值逻辑,即return b - a;。 需要注意的是,sort()函数会直接修改原始数组,而不是创建一个新的排序后的数组。另外,由于默认按照字母顺序排序,对于数字数组需要使用比较函数进行自定义排序。 总之,sort()函数是JavaScript中数组的一个排序方法,可以使用默认的字母顺序进行排序,也可以使用比较函数自定义排序方式。通过了解和灵活运用sort()函数,可以对数组进行排序操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值