postman前置处理器--生成时间戳方法

postman前置处理器--生成时间戳方法,第1张

很多的业务场景需要用到时间戳,比如创建时间,修改时间,出生日期,商品有效时间等等

在使用postman编写接口自动化测试用例时,可以使用一下方法:

var data = new Date(2002,10,1)

var birthDay = data.getTime()

console.log(birthDay)  #1036080000000

var data_now  =new Date()

var time = data_now .getTime()

console.log(time)

var data_f = new Date(2024,10.01)

var time1= data_f .getTime()

console.log(time1)

在使用postman造数据的时候,需要一直传时间戳进去,就需要自己一直去把想要的日期转化成时间戳再穿进去。

然后感觉挺麻烦的,每次都要先捣鼓捣鼓做很久准备工作。就想讲时间戳参数化,在pre-request部分去处理时间戳。

一、Date.UTC

经过一番百度,发现可以使用date.UTC()将日期转化为时间戳。

于是使用:

var date1

= Date.UTC(2022,08,11,00,23,23)

//获取2022-08-11 00:23:23的时间戳

console.log(date1)

打印出来的时间戳为:

1662855803000

转化成日期看下对不对:

1662855803000转化成时间就是2022-09-11 08:23:23

根据Date.UTC语法:

Date.UTC(year,month,day,hours,minutes,seconds,millisec)

month:也就是月份,0~11的数字。其中0表示一月。

所以出现转化后的时间戳比当前时间戳晚了一个月的情况。

另外,获得的时间是UTC时间,再将UTC时间转化为毫秒形式,所以两个日期的时间差有8小时。(猜测还需要再研究下?)

二、new Date().getTime()

Date 对象用于处理日期和时间。

创建 Date 对象的语法:

var myDate=new Date()

Date 对象会自动把当前日期和时间保存为其初始值。

格式:

new Date("month dd,yyyy hh:mm:ss")

getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

所以:

var d =new Date("2022-08-11 00:23:23").getTime()

console.log(d)

时间戳为:1660148603000

这个时间戳转化成北京时间就是2022.08.11 00:23:23

Date.UTC:

返回自1970年1月1日按照通用时间午夜的毫秒数。

Unix时间戳:

Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。 这个秒数就是Unix时间戳。

时间戳与时区是没有关系的。

如果按这看起来两者好像没什么区别的样子。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11459935.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存