时间日期大小比较判断,时间戳/时间 – 转换
当前时间转为时间戳:
var currentTimestamp = new Date().getTime();
当前时间对象
var curDate = new Date(currentTimestamp); // 当前时间日期对象
时间戳转为日期
var paramData = new Date(paramTimestamp); // 参数时间戳转换成的日期对象
时间格式(YYYY-MM-DD HH:MM:SS)转为时间戳:
// 1
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var timeStamp = date.valueOf();
// 2
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var timeStamp = Date.parse(data);
// 3
var strtime = '2014-04-23 18:55:49:123';
var date = new Date(strtime.replace(/-/g, '/'));
var paramTimestamp = date.getTime();
// ios无法解析
var date = new Date('2018-06-08 18:00:00');
var paramTimestamp = date.getTime();
// 注意:有三种方式获取,在后面会讲到三种方式的区别
time1 = date.getTime(); // 精确到毫秒
time2 = date.valueOf(); // 精确到毫秒
time3 = Date.parse(date); // 只能精确到秒
比较:
var Diff = currentTimestamp - paramTimestamp; // 参数时间戳与当前时间戳相差秒数
playJudge(playTime) {
var playJudge;
var playTimestamp = new Date(playTime.replace(/-/g, '/').valueOf());
var currentTimestamp = new Date().getTime();
playJudge = currentTimestamp > playTimestamp ? true : false;
return playJudge
},
时间戳转为时间:
const getTimestampConversion = function (timestamp) {
let timeStamp
let timeStampLen = timestamp.toString().length
if (timeStampLen === 10) {
timeStamp = timestamp * 1000
} else if (timeStampLen === 13) {
timeStamp = timestamp
} else {
timeStamp = timestamp
}
let date = new Date(timeStamp) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = (date.getFullYear() + '-')
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
let D = (date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ')
let h = (date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':')
let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':')
let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
return Y + M + D + h + m + s
}
export default getTimestampConversion
计算时间差,并翻译,新闻发布时间用:
// 时间戳转时间格式YYYY-MM-DD
const getTimestampConversion = function (timestamp) {
let timeStamp
let timeStampLen = timestamp.toString().length
if (timeStampLen === 10) {
timeStamp = timestamp * 1000
} else if (timeStampLen === 13) {
timeStamp = timestamp
} else {
timeStamp = timestamp
}
let date = new Date(timeStamp) // 时间戳为10位需*1000,时间戳为13位的话不需乘1000
let Y = (date.getFullYear() + '-')
let M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'
let D = (date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ')
let h = (date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':')
let m = (date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':')
let s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds())
// return Y + M + D + h + m + s
return Y + M + D
}
// 123
const newsTimeMethon = (pubTimestamp, currentTimestamp) => {
let timeDifference = currentTimestamp - pubTimestamp;
let translateText;
// 获取天数时间差
let DD = (timeDifference / (1000 * 60 * 60 * 24))
// 获取小时时间差
let HH = (timeDifference / (1000 * 60 * 60))
// 获取分钟时间差
let mm = (timeDifference / (1000 * 60))
// 获取秒时间差
let ss = (timeDifference / (1000))
if (DD <= 1) {
if (ss <= 60) {
translateText = "刚刚";
} else if (ss > 60 && ss <= 60 * 60) {
// translateText = mm + "分钟前"
translateText = Math.round(mm) + "分钟前"
} else if (ss > 60 * 60 && ss <= 60 * 60 * 24) {
translateText = Math.round(HH) + "小时前"
}
} else {
// 超过一天
translateText = getTimestampConversion(pubTimestamp) // 翻译成YYYY-DD-MM
}
// 超过30天
// else if (DD < 30 && DD > 1) {
// translateText = DD + "天前";
// } else if (DD >= 30 && DD < 365) {
// let DD1 = DD / 30;
// translateText = DDs + "月前";
// } else if (DD >= 365) {
// let DD2 = DD / 365;
// translateText = DD2 + "年前";
// } else {
// translateText = "历史很久远";
// }
return translateText;
}
版权声明:本文为tangkthh原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。