作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有下面的代码,用来求两个日期之间的人性化时差,问题是我不想有'一天前',而是显示'昨天'。
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',
此外,在不更改源代码的情况下,我通过注入(inject)添加了以下内容:
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>
关于javascript - 我怎样才能得到显示 "yesterday"而不是 "a day ago"的时刻?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52664408/
我是一名优秀的程序员,十分优秀!