如何在JavaScript中返回两个日期(当前日期和输入日期)之间的字符串差异
How to return a string difference between two dates (current date and input date) in JavaScript?
我有一个函数,它是用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;
}
提前感谢!
我又一次迟到了,但正如@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));
http://jsfiddle.net/xuqNt/
您可以创建两个Date对象并对它们进行子运算。然后获取结果的天、小时、分钟、秒,并选择要输出的结果。我没有代码atm,但Date的使用非常直观。
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- moment.js在两个时区格式的日期之间存在差异
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 再次使用JavaScript计算两个日期之间的天数
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 如何使用moment.js获取24小时内日期之间的时差
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 夏令时期间不起作用的 2 个日期之间的小时差异
- v8::值到日期之间的转换
- 在ExtJS中获取开始/结束日期之间的日期
- 如何计算日期之间的差异
- 两个日期之间的月份差异,计算月份的最后日期
- JavaScript:获取MySQL时间戳和当前日期之间的天数差
- 从表列中检索日期,并根据从今天到日期之间的天数使行的颜色发生变化
- 获取两个日期之间的天数
- 计算日期之间的天数