前端常见需求整理 - 日期处理

78 阅读1分钟

日期对象

通过 new Date() 获得。

Thu Apr 14 2022 20:40:11 GMT+0800 (中国标准时间)

moment.js库

moment自增一天

// 自增一天
moment().add(1,'days')

// 自减一天
moment().subtract(1, 'days')

// 年月时分秒,将第二个参数替换为以下字符串
years months hours minutes seconds

// 同时自增日和月
moment().add({ days:7, months:1 }); 

moment设置为头尾

image.png 类似的参数还有 month、quarter、week、hour、minute、second

moment转换为字符串

import moment from 'moment';

methods: {
  moment,
  handleDemo(momentObj) {
    /* moment 转化为 字符串,如 '2021-12-30 20:00:00' */
    const demo = moment(momentObj).format('YYYY-MM-DD HH:mm:ss')
  },
}

自定义时分秒
startTime = `${moment(start).format('YYYY-MM-DD')} 00:00:00`;
endTime = `${moment(end).format('YYYY-MM-DD')} 23:59:59`;

字符串转换为moment

import moment from 'moment';

methods: {
  moment,
  handleDemo() {
    let demo = '2021-12-30 20:00:00'
    /* 字符串 转化为 moment */
    const startTime = moment(demo, 'YYYY-MM-DD HH:mm:ss');
  },
}

字符串转换为字符串

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
<script>

var str = '2021/11/15 11:20:00'; 
var momentObj = moment(str, 'YYYY/MM/DD HH:mm:ss'); 
momentObj.format('YYYY-MM-DD');                    // 2021-11-15
momentObj.format('HH:mm:ss');                       // 11:20:00
</script>

HH 代表24小时制,hh 代表12小时制

获取当前时间的字符串

moment().format('YYYY-MM-DD'); // 示例:2022-01-01
moment().format('HH:mm:ss');   // 示例:00:00:00

获取昨天的字符串

const today = new Date();
today.setTime(today.getTime() - 24 * 60 * 60 * 1000);  // 减上一天的日期对象
const yesterday = moment(today).format('YYYY-MM-DD');

日期转换为moment

const today = new Date()
const momentObj = moment(new Date())

原生日期的转换请看:blog.csdn.net/qq_61270298…