当前位置: 首页 > 知识库问答 >
问题:

片刻js-我如何得到一个日期之后的年数,而不是四舍五入?

赵征
2023-03-14

我试图用Moment.js计算一个人的年龄,但是我发现从现在开始的方法很有用。例如,如果今天是12/27/2012,而该人的出生日期是02/26/1978,时刻("02/26/1978","MM/DD/YYYY"). fromNow()返回"35年前"。我如何让Moment.js忽略月数,简单地返回日期以来的年数(即34年)?

共有3个答案

刁浩言
2023-03-14

似乎有一个差异函数,它接受使用的时间间隔以及不舍入结果的选项。所以,就像

Math.floor(moment(new Date()).diff(moment("02/26/1978","MM/DD/YYYY"),'years',true)))

我还没有尝试过这个,我也不完全熟悉这个时刻,但看起来这个应该可以得到你想要的(不需要重新设置月份)。

拓拔弘厚
2023-03-14

http://jsfiddle.net/xR8t5/27/

如果不需要分数值:

var years = moment().diff('1981-01-01', 'years',false);
alert( years);

如果您想要分数值:

var years = moment().diff('1981-01-01', 'years',true);
alert( years);

单位可以是[秒、分钟、小时、天、周、月、年]

吕岳
2023-03-14

利用瞬间。js非常简单:

var years = moment().diff('1981-01-01', 'years');
var days = moment().diff('1981-01-01', 'days');

如需更多参考,您可以阅读moment.js官方留档。

 类似资料:
  • 问题内容: 在下面的示例中,我将说明我想要得到的东西: 使用,结果为2。这意味着,它没有考虑剩下的50分钟。 在这种情况下,我想要得到的是:50(分钟)/ 60 = 0.83周期。因此,结果应为2.83,而不是2。 问题答案:

  • 问题内容: 我已经将数据文件加载到Python pandas数据框中。我有一个格式的datetime列。 我需要做的是创建一个新列,将其四舍五入到最接近的四分之一小时。因此,上述日期将四舍五入为。 如何在熊猫中做到这一点?我尝试从此处使用解决方案,但出现错误。 问题答案: 假设您的系列由对象组成,则需要使用。范例- 上面的示例始终四舍五入到前一个四分之一小时(行为类似于发言权功能)。 编辑 四舍五

  • 问题内容: 假设我有,我想将其转换为。如何在Python中完成此操作? 给与不。我是Python或一般编程的新手。 我不想将其打印为字符串,结果将被进一步使用。有关此问题的更多信息,请查看 Tim Wilson的Python编程技巧:贷款和付款计算器 。 问题答案: (或的结果)正确舍入为小数点后两位。数学上,这听起来像您想要的是天花板功能。Python模块中的一个名为: 地板和天花板功能通常分别

  • 我有一个函数,它接收两个大十进制数,即bd1和bd2作为参数。函数应该减去bd1-db2并返回 bd1和bd2的刻度都是2,结果也应该只有2的刻度,但使用减法是按比例缩小到小数点后的完整表示形式。我希望刻度设置为2,并尝试使用setScale,但setScale需要舍入模式,并且不清楚使用哪种舍入模式才能获得限制在刻度2的精确结果 需要的是获得比例为2的精确减去值(bd1-bd2)。在这种情况下,

  • 问题内容: 这个问题使我丧命。如何在Python中向上舍入一个数字? 我试过了舍入(数字),但它四舍五入数字。例: 我尝试了int(number + .5),但是它再次将数字取整!例: 然后我尝试了round(number + .5),但是在边缘情况下不起作用。例: 请指教。 问题答案: 该小区(上限)功能:

  • 问题内容: 因此,我需要创建以下函数,但是如果不进行复杂的数学运算,我的头将无法想到PHP中的任何可能性。 轮 始终 到最接近的十进制(1.81 = 1.90,1.89 = 1.90,1.85 = 1.90) 总是 四舍五入到最接近的小数点(1.81 = 1.80,1.89 = 1.80,1.85 = 1.80) 轮 始终 到最接近的X.25 / X.50 / X.75 /×.00(1.81 =