我有一个用JavaScript编写的函数,用于以日/月/年小时/分钟/秒AM / PM 格式获取日期时间。我想要的是一个函数,它允许我返回以下类型的字符串(1秒,或5秒,或2分钟,或4小时,或1天,或5个月,或5年)。以下是示例代码段:
function (var inputDate)
{
var difference = dateNow - inputDate;
//1 second, or 5 seconds, or 2 minutes, or 4 hours, or 1 day, or 5 months, or 5 years - I want to return the highest difference between both dates (current date and the date, which I input)
return string difference;
}
提前致谢!
答案 0 :(得分:1)
我再次参加聚会,但是@ user1950292建议您可以减去两个日期并格式化差异。类似的东西:
function dateDiffString(a,b) {
var diff = (a.getTime() - b.getTime());
var diffs = {
years : Math.floor((diff) / (1000 * 60 * 60 * 24 * 365)),
months : Math.floor((diff) / (1000 * 60 * 60 * 24 * 30)),
weeks : Math.floor((diff) / (1000 * 60 * 60 * 24 * 7)),
days : Math.floor((diff) / (1000 * 60 * 60 * 24)),
hours : Math.floor((diff) / (1000 * 60 * 60)),
mins : Math.floor((diff) / (1000 * 60)),
secs : Math.floor((diff) / (1000))
}
//iterate through diffs to find first number > 0
for (var prop in diffs) {
if(diffs.hasOwnProperty(prop) && diffs[prop] > 0){
return diffs[prop] + " " + prop;
}
}
}
var today = new Date();
var anotherDay = new Date("2013 12 13,11:52:39");
alert(dateDiffString(today,anotherDay));
答案 1 :(得分:0)
您可以创建两个Date对象并对其进行减法。然后获取结果的天,小时,分钟,秒并选择输出的内容。 我没有代码atm,但Date的使用非常直观。
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date