关于前端moment组件的用法
近期在项目中遇到一个特殊的问题,对日期格式进行修改的时候,在IOS手机中遇到一个特殊的问题:对日期格式进行操作时,苹果手机特殊的ISO 8601无法识别正常的日期格式。 通过移动端控制台中看到以下报错提示: error parsing data:“null”.please provide a valid iso 8601 datatime ISO 8601特殊的日期格式为
ISO8601标准时间格式:yyyy-MM-dd’T’HH:mm:ss.SSS’Z’
失败尝试:
在日期操作中,使用new Data().toISOString()方法,无法将日期格式转为对应的ISO 8601识别的日期格式,依旧报以上错误
解决方法:
通过前端调用moment组件来解决ISO 8601日期特殊格式
解决步骤:
1.npm install moment 使用npm安装moment组件 2.在对应的日期操作中使用moment(具体操作时间).format(想要得到的日期格式)
let Nowtime=moment().format('YYYY-MM-DD');
console.log("当前moment格式下的当前时间"+Nowtime);
页面控制台中得到对应的日期格式时间
当前moment格式下的当前时间2021-09-18
其他日期格式
moment().format('YYYY-MM-DD:HH:MM:SS')
moment().format('YYYY-MM-DD')
moment().format('L')
moment().format('LL')
moment().format('dddd')
获取到对应的年月日
let NowYear=moment(Nowtime).format('YYYY');
let NowMonth=moment(Nowtime).format('MM');
let NowDay=moment(Nowtime).format('DD');
获取当前日期的下一个月的日期
moment(Nowtime).add(1, 'months').format('YYYY-MM-DD');
获取当前日期的前/后30天的日期
moment(Nowtime).add(+30,'day').format('YYYY-MM-DD');
moment(Nowtime).add(-30,'day').format('YYYY-MM-DD');
获取当前月份的第一天和最后一天的日期
moment(Nowtime).startOf('month').format('YYYY-MM-DD');
moment(Nowtime).endOf('month').format('YYYY-MM-DD');
获取当前月份的天数
moment(Nowtime).daysInMonth();
判断日期大小
moment('2021-09-18').isAfter('2021-09-19');
|