美文网首页
moment.js操作日期加减后引发的坑

moment.js操作日期加减后引发的坑

作者: 黄秀杰 | 来源:发表于2019-08-10 16:23 被阅读0次
moment.js

经过加减后,会改变原日期,所以要复制对象才行

奇怪的现象代码

const moment = require('moment')
let start = moment()
console.log(`操作前的start日期: ${start}`)
let end = start.add(1, 'day')
console.log(`操作后的end日期: ${start}`)
console.log((`操作前的end日期: ${end}`))

输出结果

操作前的开始日期: Sat Aug 10 2019 16:14:41 GMT+0800
操作后的开始日期: Sun Aug 11 2019 16:14:41 GMT+0800
操作前的结束日期: Sun Aug 11 2019 16:14:41 GMT+0800

开始日期被操作后改变了自身的值,跟结束日期一样变成了Aug 11 2019

解决方法

方法1.使用moment()函数再包装一次对象
将代码let end = start.add(1, 'day')改成let end = moment(start).add(1, 'day')

方法2.使用clone()方法复制一个对象
将代码let end = start.add(1, 'day')改成let end = start.clone().add(1, 'day')

moment.js中文官网:http://momentjs.cn/

[完]

相关文章

  • moment.js操作日期加减后引发的坑

    经过加减后,会改变原日期,所以要复制对象才行 奇怪的现象代码 输出结果 开始日期被操作后改变了自身的值,跟结束日期...

  • java 8 时间处理

    获取日期 时间加减操作 特殊需求 日期格式化

  • momentjs 获取两个日期相隔天数

    Moment.js 是一个 JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期,vue项目中经...

  • Hive 函数大全

    日期操作 获取当前时间 日期加减:date_add / date_sub 时间差 月份加减 add_months(...

  • moment.js的常用方法

    moment.js 是一个 JavaScript 日期处理类库,用于解析、检验、操作、以及显示日期。因为项目中经常...

  • 最彪的时间处理库:Moment.js

    简介 Moment.js是一个JavaScript日期处理类库,用于解析、检验、操作、以及显示日期等,如果你的站点...

  • JMeter:时间函数___timeShift

    __TimeShift(格式,日期,移位,语言环境,变量):可对日期进行移位加减操作 格式- 将显示创建日期的格式...

  • 命令

    date命令 命令参数 日期格式字符串列表 加减操作

  • JS好用的库

    JS 日期处理Moment.js 格式化和操作数字Numeral.js 加密库crypto-jsSparkMD5 ...

  • Python日期的加减等操作

    1. 日期输出格式化 所有日期、时间的api都在datetime模块内。 1. datetime => strin...

网友评论

      本文标题:moment.js操作日期加减后引发的坑

      本文链接:https://www.haomeiwen.com/subject/pjmrjctx.html