Javascript 获取截止日期的剩余时间
我试图生成一个字符串,表示截止日期还有多长时间,但我无法计算出如何计算时间量,因为日历是多么不一致 我想输出一个字符串,如“剩余1个月、6天和10小时” 以下是我所拥有的:Javascript 获取截止日期的剩余时间,javascript,date,Javascript,Date,我试图生成一个字符串,表示截止日期还有多长时间,但我无法计算出如何计算时间量,因为日历是多么不一致 我想输出一个字符串,如“剩余1个月、6天和10小时” 以下是我所拥有的: this.GetRemainingTimeString = function() { if(this.IsPastDeadline()) return 'Past Deadline'; var str = ''; var diffMS = - this.EndDate - (new Date()).getTime(
this.GetRemainingTimeString = function()
{
if(this.IsPastDeadline())
return 'Past Deadline';
var str = '';
var diffMS = - this.EndDate - (new Date()).getTime();
var diff = new Date(diffMS);
var defDate = new Date(0);
var years = diff.getFullYear() - defDate.getFullYear();
var months = diff.getMonth();
var days = diff.getDate();
if(years > 0)
{
str += years + ' Year' + (years != 1 ? 's' : '') + ' ';
}
if(months != 0)
{
str += months + ' Month' + (months != 1 ? 's' : '');
}
if(days != 1)
{
str += days + ' Day' + (days != 1 ? 's' : '');
}
return str;
};
“1个月”并不意味着什么——可能是28、29、30、31天。最好持续几年,几天,几小时。你到底看到了什么问题?看看。这是一个很酷的JS日期/时间库。当然,重点是为了易于使用:)检查这个答案:虽然根据我的经验,我使用了
刚才
,几分钟前
,N分钟前
,N小时前
,昨天
,然后使用了实际的日期/时间。正如@CFrei在几天后所说的那样,它变得很时髦。