在使用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时间戳。
时间戳与时区是没有关系的。
如果按这看起来两者好像没什么区别的样子。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)