javascript-如何获得显示“昨天”而不是“一天前”的时间?
作者:互联网
我有以下代码,用于查找两个日期之间的人性化时差,问题是我不想有“一天前”的信息,而是显示“昨天”.
function humanize(date) {
const then = moment.utc(date);
return then.fromNow();
}
function getYesterdayAsISO() {
var date = new Date();
date.setDate(date.getDate()-1);
return date.toISOString();
}
console.log(humanize(getYesterdayAsISO()));
<script src="https://momentjs.com/downloads/moment-with-locales.min.js"></script>
解决方法:
这些可以在翻译文件中找到.您可以在relativeTime
in en-gb.js
at Line 42中进行更改:
d : 'yesterday',
但这仍显示为昨天.您可以更改的正确选择就是过去
past : '%s ago',
另外,在不更改源代码的情况下,我通过注入添加了以下内容:
moment.updateLocale('en-gb', {
relativeTime: {
past : '%s',
d : 'yesterday'
}
});
上面的方法可能无法在所有情况下都起作用,而应仅将其仅用于当前项目.
我在控制台中得到以下内容:
工作实例
moment.updateLocale('en-gb', {
relativeTime: {
past : '%s',
d : 'yesterday'
}
});
function humanize(date) {
const then = moment.utc(date);
return then.fromNow();
}
function getYesterdayAsISO() {
var date = new Date();
date.setDate(date.getDate()-1);
return date.toISOString();
}
console.log(humanize(getYesterdayAsISO()));
<script src="https://momentjs.com/downloads/moment-with-locales.min.js"></script>
标签:momentjs,javascript 来源: https://codeday.me/bug/20191025/1924693.html