2014-01-22 150 views
2

如果以MM/YY格式给出两个日期,我如何才能在使用函数的年份和月份中获得差异。JavaScript:获取日期差异并将月份转换为年份

例如:03/10 & 01/14的结果将是3年零10个月。

任何帮助将不胜感激。

+1

有点简单的数学。你有什么尝试? – Teemu

+1

在这里寻求帮助之前,一定要尝试一些事情。一旦你写了一些代码并遇到问题,那么我们可以帮助你。 – csmckelvey

回答

0

您可以解析日期并以毫秒计算,但这是更快的方法。

var date1 = "03/10".split("/"); 
var date2 = "01/14".split("/"); 
var months = date2[0] - date1[0] + 12 * (date2[1] - date1[1]); 
var result = Math.round(months/12) + " years " + (months % 12) + " months"; 

您可以把第一个2线的日期字符串与你的变量,你应该可以猜到你在哪里得到的年月了数字。

2

我强烈建议momentjs用于JavaScript中的日期处理。

var start = moment("03/10", "MM/YY"), 
    finish = moment("01/14", "MM/YY"); 

var diff  = finish.diff(start), 
    duration = moment.duration(diff); 

duration.years(); // 3 
duration.months(); // 10 

享受momentjs。它让你的生活变得如此简单。

+1

要清楚:自己处理JavaScript中的日期会非常快速地让你非常伤心。 – statue

相关问题