Moment.js中使用.fromNow()的相对日期-如何在几年、几个月和几天前聚在一起
Relative Date in Moment.js using .fromNow() - how to get together years, months and days ago?
- 假设我有一个日期字符串
2015-02-01
-(2015年2月1日( - 今天我们有
2016-07-02
(2016年7月2日(
我们可以很容易地看到,较旧的日期发生在大约1年前和5个月前和1天前。
我想用Moment.js实现这样的相对结果,所以我做到了:
return moment('2015-02-01).fromNow();
不幸的是,库对结果进行了四舍五入,我得到了a year ago
,其中几乎忽略了下一年的一半时间(缺少5个月零1天(。
传递给.fromNow()
的唯一可用布尔参数没有任何帮助。有没有可能得到完整的相对日期,如果需要的话,我甚至可以控制到小时、分钟和秒?
根据您想要的方向,您有几个选项。可能最简单的方法是使用持续时间而不是.fromNow()
。
只需:
var diff = moment('2015-02-01').diff(moment(), 'milliseconds');
var duration = moment.duration(diff);
这将为您提供一个持续时间类型的即时消息,您可以从中获取大量信息。例如:
duration.years(); //-1
duration.months(); //-4
duration.days();// -30
duration.hours(); //-8
或者,如果你想要聚合的单位:
duration.asYears(); //-1.416481451250425
duration.asMonths(); //-16.997784898617585
等等。你可以随心所欲地格式化它。
如果你想要更高级的持续时间格式,你可以看看这个插件。
相关文章:
- JavaScript过期标头可以't设置为12个月
- 通过将6个月添加到今天来获得最后一个月的日期's日期
- 浮动图-如何在x轴上显示第一个月和最后一个月的minTickSize:[2,“month&”]
- 在javascript中,起始日期不得早于13个月
- 下个月开始MooTools Events Calendar
- JavaScript:获取第一个月前 6 个月的日期的最简单方法
- 如何使用jquery获取下一天的日期和下个月的日期
- 隐藏从当前月份开始的所有前几个月
- 如何使用jquery验证器的日期月年三个文本框验证出生日期
- 如何将最近几个月计算为一个时期,并通过javascript更新到图表
- 我怎样才能让几个月自动更新
- 前几个月的名称为 Leabels(例如 12 月 15 日 11 月 15 日),以代替新标题和新标题 2 标签
- 如果是今年,我如何让我的JavaScript隐藏过去的几个月和几天
- 如何在jQuery中使用moment js动态查找下个月和下个年
- 如何使用JavaScript查找下个月和前几个月
- Javascript-获取前几个月的日期
- Moment.js-在几年、几个月和几天的两个生日中获得差异
- 为什么最近几年JS文件中更常用单引号
- 看看当前日期是否在几个月之间的时刻j
- Moment.js中使用.fromNow()的相对日期-如何在几年、几个月和几天前聚在一起