ajax取的时间怎么转换:
以下方法亲测有效:
var rectifylist = "";
rectifylist += timestampToTime(rectify[i].transferDate);
//将时间戳转成日期
function timestampToTime(timestamp) {
var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
Y = date.getFullYear() + '-';
M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
D = date.getDate()<10?'0'+date.getDate():date.getDate();
return Y+M+D;
}
freemaker转换日期时:${list.transferDate?date}
可参考链接:https://blog.csdn.net/me_Jackyoyo/article/details/120758321
js计算时间差:
var now = new Date();//时间戳为10位需*1000,时间戳为13位的话不需乘1000
var reportdate = $("#rt").val();
var dateDiff = now.getTime() - new Date(reportdate).getTime();//时间差的毫秒数
var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算相差天数
function diffDate(date1, date2) {
let begin = new Date(date1);
let end = new Date(date2);
// 如果开始时间晚于结束时间,交换日期,并记录交换状态
let swap = false;
if (begin > end) {
let tmp = begin;
begin = end;
end = tmp;
swap = true;
}
// 分别取二个日期的年、月、日值
let d1 = begin.getDate();
let m1 = begin.getMonth() + 1;
let y1 = begin.getFullYear();
let d2 = end.getDate();
let m2 = end.getMonth() + 1;
let y2 = end.getFullYear();
// 获取每个月的天数,这里要注意一下闰年的2月
var getMonthDays = function (y, m) {
var aMonthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
if (m == 2 && ((y % 400 == 0) || (y % 4 == 0 && y % 100 != 0))) {
return 29;
}
return aMonthDays[m];
};
let y, m, d
let tempD = 0
let tmpM = 0
let tmpY = 0
// 计算日,不足时向月份借
if (d2 >= d1) {
d = d2 - d1
} else {
tmpM = -1
d = getMonthDays(y1, m1) + d2 - d1
}
// 计算月,不足时向年份借
if (m2 + tmpM >= m1) {
m = m2 + tmpM - m1
} else {
tmpY = -1
m = 12 + m2 + tmpM - m1
}
// 计算年
y = y2 + tmpY - y1
// 拼接距离字符串 输出格式如:"5天", "5月 05天", "5年 05月 05日"
let str = "";
if (y > 0) {
str = y + '年 ' + ("0" + m).substr(-2) + "月 " + ("0" + d).substr(-2) + '天 '
} else if (m > 0) {
str = m + "月 " + ("0" + d).substr(-2) + '天 '
} else if (d > 0) {
str = d + '天 '
}
// 完整输出
return date1 + " 比 " + date2 + (swap ? " 晚 " : " 早 ") + str;
}
https://zengwu.com.cn/p/9c7b1943.html 可参考链接