我们在工作中经常遇到日期格式的转换,比如获取当前时间,转换当前时间格式为2023/09/09、2023-09-09、2023-09-09 18:12:01、时间戳、时间戳转日期、日期转时间戳、获取当前季度,获取上一季度、获取下一季度、获取下一周,获取上一周、获取上一年、获取下一年、获取下一天、获取上一天.....
首先我先介绍一个框架:momentjs
node.js环境下使用
npm install moment
var moment = require('moment'); // require
moment().format();
ES6环境下使用
import moment from 'moment';
moment().format();
cdn使用
<script src="https://cdn.jsdelivr.net/npm/moment@2.29.4/moment.min.js"></scrip>
<script>
moment().format();
</script>
常用方法
console.log("当前时间戳", moment().unix());
console.log("当前时间", moment().format("YYYY-MM-DD HH:mm:ss"));
console.log("上一年", moment().subtract(1, 'years').format("YYYY-MM-DD"));
console.log("下一年", moment().add(1, 'years').format("YYYY-MM-DD"));
console.log("上一年", moment().subtract(1, 'years').format("YYYY-MM-DD"));
console.log("下一年", moment().add(1, 'years').format("YYYY-MM-DD"));
console.log("上一月", moment().subtract(1, 'months').format("YYYY-MM-DD"));
console.log("下一月", moment().add(1, 'months').format("YYYY-MM-DD"));
console.log("上一周", moment().subtract(1, 'weeks').format("YYYY-MM-DD"));
console.log("下一周", moment().add(1, 'weeks').format("YYYY-MM-DD"));
console.log("上一天", moment().subtract(1, 'days').format("YYYY-MM-DD"));
console.log("下一天", moment().add(1, 'days').format("YYYY-MM-DD"));
console.log("上一小时", moment().subtract(1, 'hours').format("YYYY-MM-DD HH"));
console.log("下一小时", moment().add(1, 'hours').format("YYYY-MM-DD HH"));
console.log("当前季度", moment().format("Y[Q]Q"))
console.log("下一季度", moment().add(1, 'quarters').format("Y[Q]Q"))
console.log("上一季度", moment().subtract(1, 'quarters').format("Y[Q]Q"))
线上演示 https://code.juejin.cn/pen/7276772067192619063
以上是我们引入第三方moment库的使用
但是有时我们在开发过程中不希望引入太多的第三方库,就要自己实现这些日期的转换,
那怎么实现这些转换呢,
首先我们需要对Date有一个初步的了解:
获取当前时间戳
new Date().getTime()
Date.now();
获取当前时间
new Date()
时间戳转时间
new Date("时间戳")
时间转时间戳
new Date("时间").getTime()
日期格式化
未完待续........