一些自己使用过的日期格式化和获取方式
/**
* @description formatTimeStamp 格式化时间戳形式日期,返回YYYY-MM-DD hh:mm:ss格式
*/
var formatTimeStamp = function (i) {
if (i && i !== '') {
var dt = new Date(i);
var r = getDateFormat(dt);
return r;
}
}
/**
* @description formatDate 格式化YYYYMMDDhhmmss形式日期,返回YYYY-MM-DD hh:mm:ss格式
*/
var formatDate = function (i) {
if (i && i !== '') {
var r = i.slice(0, 4) + '-' + i.slice(4, 6) + '-' + i.slice(6, 8) + ' ' + i.slice(8, 10) + ':' + i.slice(10, 12) + ':' + i.slice(12, 14);
return r;
}
}
/**
* @description getCurrentTime 获取当前日期时间,返回YYYY-MM-DD hh:mm:ss格式
*/
var getCurrentTime = function () {
var dt = new Date();
var r = getDateFormat(dt);
return r;
}
/**
* @description getDateBeforeDay 获取向前i(Number类型)天的日期时间,返回YYYY-MM-DD hh:mm:ss格式
*/
var getDateBeforeDay = function (i) {
if (i && i !== '') {
var timeStamp = new Date().getTime() - i * 24 * 60 * 60 * 1000;
var dt = new Date(timeStamp);
var r = getDateFormat(dt);
return r;
}
}
/**
* @description getDateBeforeMonth 获取向前i(Number类型)月的日期时间,返回YYYY-MM-DD hh:mm:ss格式
*/
var getDateBeforeMonth = function (i) {
if (i && i !== '') {
var dt = new Date();
var c = getDateFormat(dt); // 获取当前日期时间
var arr = c.split(" ")[0].split("-");
var y = Number(arr[0]);
var m = Number(arr[1]);
var d = Number(arr[2]);
// 判断是否跨年
if ((m - i) < 1) {
var n = Math.floor(Math.abs(m - i) / 12) + 1; // 判断跨年度为几年
y = y - n;
m = 12 + ((m - i) % 12); // 获取月份
} else {
m = m - i;
}
// 如果当前日期为31号且对应的最前月份为4,6,9,11月
if (d > 30 && $.inArray(m, [4, 6, 9, 11]) >= 0) {
d = 30;
}
// 如果为2月份
if (m == 2) {
// 如果日期大于29且为闰年
if (d > 29 && (y % 100 != 0 && y % 4 == 0 || y % 400 == 0)) {
d = 29;
} else if (d > 28) {
d = 28;
}
}
var r = y + '-' + (m > 9 ? m : '0' + m) + '-' + (d > 9 ? d : '0' + d) + ' ' + c.split(" ")[1];
return r;
}
}
// 格式化日期时间,转换成 YYYY-MM-DD hh:mm:ss
var getDateFormat = function (dt) {
// 判断是否传值
if (dt && dt !== "") {
var Y = dt.getFullYear();
var M = (dt.getMonth() + 1) > 9 ? (dt.getMonth() + 1) : "0" + (dt.getMonth() + 1);
var D = dt.getDate() > 9 ? dt.getDate() : "0" + dt.getDate();
var h = dt.getHours() > 9 ? dt.getHours() : "0" + dt.getHours();
var m = dt.getMinutes() > 9 ? dt.getMinutes() : "0" + dt.getMinutes();
var s = dt.getSeconds() > 9 ? dt.getSeconds() : "0" + dt.getSeconds();
var r = Y + '-' + M + '-' + D + ' ' + h + ':' + m + ':' + s;
return r;
}
}