【发布时间】:2017-07-03 15:58:22
【问题描述】:
我正在做一个需要对日期对象进行这种文本响应的项目。
“距离 1 天 7 小时” --- 它需要这样——而不是“31 小时后”或“1 天后” - 我也在使用 moment js - 因为我正在英语和德语之间进行语言切换 - 所以我已经利用了 moment.js 语言区域设置
moment.locale('de')
我正在使用 moment js - 目前我创建了一个假日期对象
var futureDate = new Date()
futureDate.setDate(futureDate.getDate() + 1)// add a day
futureDate.setHours(7)// add 7 hours
当我尝试渲染时刻 js
moment(futureDate).endOf('day').fromNow()
它只是说“一天之内”
如何修改 moment 函数以处理 1 天 7 小时 - 并可能重新调整句子?
--- 代码 sn-p 尝试
moment.locale('de') // switch between en and de -- english and german
var futureDate = new Date()
futureDate.setDate(futureDate.getDate() + 1)// add a day
futureDate.setHours(7)// add 4 hours
// Results in hours
console.log(moment(futureDate).endOf('day').fromNow());
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
使用差异的代码测试 2
moment.locale('de') // switch between en and de -- english and german
var a = moment();
var b = moment(a).add(31, 'hours');
// Results in days
console.log(b.diff(a, 'days'));
console.log(b.diff(a, 'days', true));
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
【问题讨论】:
-
抱歉,您需要知道确切的 7 小时后的时间吗?
-
--不,那些不是重复的--我需要在 1 天 7 小时后分解-- 31 小时等。
标签: javascript momentjs