目前我正在使用API,它以这种格式返回一个日期(created_at):
Y-m-dTH-m-sZ.
实际上我无法弄清楚如何计算这种日期格式与我可以从new Date()
收到的当前日期之间的差异。
对于例如:
,区别应该是这样的格式2 hours ago, 10 days ago.
它是JS中的内置函数吗?或者我如何进行此计算并以适当的格式得到答案?
请帮忙。
答案 0 :(得分:0)
下面的代码可以使用假设dateB在dateA之后,否则差异将是负数,你必须处理它。
对你来说这可能是一个很好的开端,遗憾的是没有内置任何内容,因为你试图找到差异(以毫秒为单位)并将其转换为可能会有所不同的统一。
祝你好运,希望它有所帮助。
var dateA = new Date("07/06/2017");
var dateB = new Date("10/06/2017");
var difference = dateB - dateA;
var differenceUnit = "milisecond";
if(difference >= 1000) {
difference = difference/1000;
differenceUnit = "second";
if(difference > 60) {
difference = difference/60;
differenceUnit = "minute";
if(difference > 60) {
difference = difference/60;
differenceUnit = "hour";
if(difference > 24) {
difference = difference/24;
differenceUnit = "day";
}
}
}
}
difference = difference.toFixed(0);
console.log("difference is: ", difference, (difference > 1 ? differenceUnit + "s" : differenceUnit))