JS快速获取当前时间减一小时、一天及日期格式处理

背景

今天在做项目的时候用到了element-ui的DateTimePicker组件,官方给的例子中是传入固定参数从而确定默认时间,而我们项目的需求希望默认以(当前时间前一小时-当前时间)为默认值,并以此去请求后台获取数据。获取到了时间范围后,我请求后台发现并没有拿到我想要的结果,去浏览器中查看请求的参数,发现是一个带有TZ的字符串,这也就引发了获取到的日期格式处理的问题。

解决方案
  • 快速获取当前时间前一小时-当前时间
//默认日期时间
dataPickerValue: [new Date(new Date().getTime() - 1 * 60 * 60 * 1000), new Date()],

用new Date()取到当前时间的值,再使用getTime()方法获取时间的毫秒值后进行计算,最终将计算的结果传入new Date()中就能得到当前时间了。我这里获取的是当前前一小时,进行不同的计算是可以获取当前时间前后任意时间的。

  • 格式处理
    时间
    当我发现向后台请求时的日期并不像我在DateTimePicker组件中看到的那样,我就查看了一下DateTimePicker的值,才知道原来是组件内部对时间做了处理之后才展示成页面那样的,而我在请求后台时就需要自己去处理这个时间了。
    最后在使用了http://blog.csdn.net/hj7jay/article/details/51433745博客中处理中国标准时间的方法解决了这个问题。有其他的需求的朋友也可以参考上述博客中的其他方法。
let param = {
  beginTime: new Date(+new Date(that.dataPickerValue[0])+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,''),
  endTime: new Date(+new Date(that.dataPickerValue[1])+8*3600*1000).toISOString().replace(/T/g,' ').replace(/\.[\d]{3}Z/,''),
  pageNo: 1,
  pageSize: 20
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值