js date format
'use strict';
// 获取格式化的日期
function today() {
const today = new Date();
let str = '';
str += today.getFullYear() + '-';
const month = today.getMonth() + 1;// 返回值是 0(一月) 到 11(十二月) 之间的一个整数。
if (month < 10) {
str += '0';
}
str += month + '-';
const day = today.getDate();// 返回值是 1 ~ 31 之间的一个整数
if (day < 10) {
str += '0';
}
str += day;
return str;
}
// https://blog.youkuaiyun.com/g229191727/article/details/93463671
// date1和date2是2019-06-18格式
function daysDistance(date1, date2) {
// parse() 是 Date 的一个静态方法 , 所以应该使用 Date.parse() 来调用,
// 而不是作为 Date 的实例方法。返回该日期距离 1970/1/1 午夜时间的毫秒数
date1 = Date.parse(date1);
date2 = Date.parse(date2);
// 计算两个日期之间相差的毫秒数的绝对值
const ms = Math.abs(date2 - date1);
// 毫秒数除以一天的毫秒数,就得到了天数
const days = Math.floor(ms / (24 * 3600 * 1000));
return days;
}
/**
*
* let formatDateStr=
format(new Date(),'yyyy-MM-dd hh:mm:ss.S')
let formatDateStr2=
format(new Date(),'yyyy_MM_dd_hh_mm_ss')
console.log(formatDateStr);
// 2023-01-20 22:36:34.28
console.log(formatDateStr2);
// 2023_01_20_22_37_05
* @param {*} date
* @param {*} fmt
* @returns
*/
const formatDate = function (date,fmt) {
// this=date
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
}
const TimeUtil = {
today,
daysDistance,
formatDate
};
module.exports = TimeUtil;