Javascript 使用moment.js计算到下一个下午2点的时间
我希望使用moment.js来计算到下一个下午2点的剩余时间 到目前为止,根据我发现的另一个脚本,我有以下内容:Javascript 使用moment.js计算到下一个下午2点的时间,javascript,string,date,momentjs,Javascript,String,Date,Momentjs,我希望使用moment.js来计算到下一个下午2点的剩余时间 到目前为止,根据我发现的另一个脚本,我有以下内容: var getTimeLeft = function(){ var now = moment(); var deadline = now.clone().hour(14).minute(0).second(0); if(now.isAfter(deadline)) { var tomorrow = moment(new Date()).add(1,'days')
var getTimeLeft = function(){
var now = moment();
var deadline = now.clone().hour(14).minute(0).second(0);
if(now.isAfter(deadline)) {
var tomorrow = moment(new Date()).add(1,'days').hour(14).minute(0).second(0);
console.log(tomorrow.from(now));
}else {
console.log(deadline.from(now));
}
}
getTimeLeft();
如果时间在下午2点之前,则返回四舍五入格式的时间,即“在5小时内”
如果时间超过下午2点,则返回“一天内”
我如何编辑此脚本,以便如果在下午2点之前运行,我将以“4hrs 57mins”
的格式获得答案,而不进行舍入-如果是第二天,它将执行相同的操作,它将“21hrs 2mins”
Cheers实际上总是以该格式返回一个字符串
,您不能在小时
和分钟
或毫秒
内得到结果
解决方案:
显示带有小时
和分钟
的自定义消息的一个小技巧是使用,它返回的差值为毫秒
、秒
、分钟
、小时
或天
tomorrow.diff(now, "hours") + ' hrs, ' + (tomorrow.diff(now, "minutes") % 60) + ' mins'
您只需指定hours
/minutes
作为.diff()
方法的第二个参数,即可获得所需格式的结果
演示:
这是一个工作演示:
var getTimeLeft=function(){
var now=力矩();
var deadline=now.clone().hour(14)、minute(0)、second(0);
如果(现在,在(截止日期)之后){
var明天=时刻(新日期())。添加(1,'天')。小时(14)。分钟(0)。秒(0);
log(明天.diff(现在是“小时”)+“小时”+(明天.diff(现在是“分钟”)%60)+“分钟”);
}否则{
log(deadline.diff(现在是“小时”)+“小时”+(deadline.diff(现在是“分钟”)%60)+“分钟”);
}
}
getTimeLeft()代码>