下面是使用 JavaScript 将时间转换成“今天”,“昨天”,“前天”等格式的攻略:
1. 获取时间戳
首先需要获取要转换的时间戳。时间戳是一个整数,表示自1970年1月1日 00:00:00 UTC起经过的毫秒数。可以使用 JavaScript 中的Date
对象的getTime()
方法获取当前时间的时间戳,如下所示:
const timestamp = new Date().getTime();
2. 转换成日期格式
将时间戳转换成日期格式,可以使用Date
对象的toLocaleDateString()
方法。该方法将日期对象转换为字符串,格式为本地日期格式。例如:
const date = new Date(timestamp).toLocaleDateString();
console.log(date); // 输出:"2022/3/4"
3. 计算日期差值
接下来,需要计算当前日期与要转换的日期之间的差值,以便确定转换的时间是“今天”,“昨天”,“前天”等。可以使用下列代码段计算日期差值:
const now = new Date().setHours(0, 0, 0, 0); // 当前时间的开始
const compare = new Date(timestamp).setHours(0, 0, 0, 0); // 需要比较的日期的开始
const diff = (now - compare) / 1000 / 60 / 60 / 24; // 计算出两个日期之间的天数差值
4. 根据日期差值转换
使用上述代码段计算出日期差值后,接下来就可以根据差值的不同转换成相应的日期格式了。下面是完整的 JavaScript 代码,其中使用了一个getDateDiff()
函数,接受一个时间戳参数,并返回转换后的字符串:
function getDateDiff(timestamp) {
const now = new Date().setHours(0, 0, 0, 0);
const compare = new Date(timestamp).setHours(0, 0, 0, 0);
const diff = (now - compare) / 1000 / 60 / 60 / 24;
if (diff === 0) {
return "今天";
} else if (diff === 1) {
return "昨天";
} else if (diff === 2) {
return "前天";
} else {
const date = new Date(timestamp);
const year = date.getFullYear();
let month = date.getMonth() + 1;
month = month < 10 ? "0" + month : month;
let day = date.getDate();
day = day < 10 ? "0" + day : day;
return `${year}/${month}/${day}`;
}
}
const timestamp1 = 1646488312345;
console.log(getDateDiff(timestamp1)); // 输出:"今天"
const timestamp2 = 1646217600000;
console.log(getDateDiff(timestamp2)); // 输出:"前天"
在上面的代码中,分别使用了两个时间戳作为示例,分别输出了“今天”和“前天”的转换结果。可以根据需要将上述代码与自己的项目结合使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用javascript将时间转换成今天,昨天,前天等格式 - Python技术站