如何转换时间戳格式或移除时间部分以实现当前日期与报告日期的比对?
解决日期格式比对的问题
嘿,你已经在用moment.js处理日期了,那搞定这个问题超简单!只需要把接口返回的带时间戳的报告日期,用moment解析后转成YYYY-MM-DD格式,就能和你的currentDate直接比对啦。
修改后的完整代码
var moment = require('moment'); var currentDate = moment().format("YYYY-MM-DD") const jsonData = pm.response.json(); // 用moment解析报告日期,转换为YYYY-MM-DD格式 let date = moment(jsonData['data'][0]['date']).format("YYYY-MM-DD") pm.test("Fresh data is available", function () { pm.expect(date).to.eql(currentDate); });
为什么这么做?
你的报告日期格式是"2022-05-30 00:00:00.000000",moment能自动识别这种标准的日期时间字符串,解析后调用.format("YYYY-MM-DD")就能精准提取出纯日期部分,自动去掉后面的时间、毫秒内容。这种方法比手动截取字符串(比如slice(0,10))更可靠,万一后续日期格式有细微变化(比如月份/日期变成单数字),moment也能正确处理。
如果不想用moment,也可以用字符串拆分的应急方法(但还是推荐用库更稳妥):
let date = jsonData['data'][0]['date'].split(' ')[0];
这个方法是把字符串按空格拆分,取第一部分作为日期,不过只适合你当前这种固定格式的场景哦。
内容的提问来源于stack exchange,提问作者Margaret
相关产品推荐
相关产品推荐

