【问题标题】:Get a difference between 2 dates in js获取js中2个日期之间的差异
【发布时间】:2017-06-18 19:00:39
【问题描述】:

目前我正在使用一个 API,它以这种格式返回一个日期(created_at):

Y-m-dTH-m-sZ.

实际上,我不知道如何计算这种日期格式与我可以从new Date() 收到的当前日期之间的差异。

并且区别应该是这样的格式,例如:

2 hours ago, 10 days ago.

它是 JS 中的内置函数吗?或者我怎样才能进行这种计算并以适当的格式得到答案?

请帮忙。

【问题讨论】:

标签: javascript jquery api date


【解决方案1】:

假设 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))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 2020-03-22
    • 2017-03-27
    • 1970-01-01
    • 2010-09-22
    • 1970-01-01
    相关资源
    最近更新 更多