我正在实现一个JS函数来镜像我在Ruby代码中的函数。
Ruby代码:
def autoextending?
online_only? && ((actual_end_time - Time.now) <= autoextend_increment.minutes)
end
JS代码:
item.autoextending = function() {
var self = this;
var end_time = moment(self.actual_end_time);
return (self.online_only && self.status == "accepting_bids" && ((end_time - moment()) <= self.autoextend_increment*60));
};
一点信息:
(end_time - moment())
进行评估,以便将差异返回为秒数,以便我可以将其与autoextend_increment
正确比较感谢任何帮助。
答案 0 :(得分:1)
moment
在引擎盖下使用Date
,作为原始值表示为自纪元以来的毫秒数。所以我们马上知道来自moment
的算术将以毫秒为单位产生值:
item.autoextending = function() {
var self = this;
var end_time = moment(self.actual_end_time);
return (self.online_only && self.status == "accepting_bids" && (((end_time - moment()) / (1000 * 60)) <= self.autoextend_increment));
};
((end_time - moment()) / (1000 * 60))
将以分钟为单位给出一个值(一秒钟内1000毫秒,一分钟内60秒)。
你说self.autoextend_increment
已经有几分钟了,所以不需要额外的算术。如果您真的想在几秒钟内进行比较,可以:((end_time - moment()) / 1000) <= self.autoextend_increment * 60
您也可以将转换标记为(end_time - moment()) / 6000
,但为了演示目的,我将这些数字分解。