示例1:日期格式化
/**格式化日期 yyyy-MM-dd hh:ss:mm
* @Descripttion:
* @param {*} param
* @return {*}
* @Author: TinaZ
* @Date: 2021-02-24
*/
function formatDateTime(param) {
if(!param) return "";
var date = new Date(param);
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? ('0' + m) : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
var h = date.getHours();
h = h < 10 ? ('0' + h) : h;
var minute = date.getMinutes();
var second = date.getSeconds();
minute = minute < 10 ? ('0' + minute) : minute;
second = second < 10 ? ('0' + second) : second;
return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;
};
formatDateTime(1614150811429) // "2021-02-24 15:13:31"
formatDateTime('2021/2/1') // "2021-02-01 00:00:00"
示例2:获取当前日期或某天前后日期
/**获取日期
* @Descripttion:
* @param {*} oparams {day:间隔天数, date:初始日期或时间戳}
* @return {*}
* @Author: TinaZ
* @Date: 2021-02-25
*/
function fnGetDate(oparams) {
var day = oparams && oparams.day ? oparams.day : 0;
var currDate = oparams && oparams.date ? new Date(oparams.date).getTime() : new Date().getTime();
var date = new Date(currDate + day*24*60*60*1000);
var Y = date.getFullYear();
var M = date.getMonth() + 1;
M = M < 10 ? '0' + M : M;
var D = date.getDate();
D = D < 10 ? '0' + D : D;
var H = date.getHours();
H = H < 10 ? '0' + H : H;
var m = date.getMinutes();
m = m <10 ? '0' + m : m;
var s = date.getSeconds();
s = s < 10 ? '0' + s : s;
var sDate = Y + '-' + M + '-' + D;
var sDatetime = Y + '-' + M + '-' + D + ' ' + H + ':' + m + ':' + s;
return {
date: sDate, datetime: sDatetime};
}
fnGetDate(); // 不传参数获取当前日期 {date: "2021-02-25", datetime: "2021-02-25 13:28:57"}
fnGetDate({
day: 10, date: '2021/2/25'}) // 10天后的日期 {date: "2021-03-07", datetime: "2021-03-07 00:00:00"}
fnGetDate({
day: -10, date: '2021-02-25'}) // 10天前的日期 {date: "2021-02-15", datetime: "2021-02-15 00:00:00"}