我相信你正在寻找的查询功能,
isBefore,
isSame,和
isAfter。
但是要确切地说出您要尝试的内容有点困难。也许您只是想了解输入时间和当前时间之间的时差?如果是这样,考虑差异功能,
diff。例如:
moment().diff(date_time, 'minutes')
其他一些事情:
- 第一行有错误:
var date_time = 2013-03-24 + 'T' + 10:15:20:12 + 'Z'
那是行不通的。我想你的意思是:
var date_time = '2013-03-24' + 'T' + '10:15:20:12' + 'Z';
当然,您也可以:
var date_time = '2013-03-24T10:15:20:12Z';
- 您正在使用:
.tz('UTC')错误。.tz
属于moment-timezone。除非您正在与其他时区配合使用,否则您无需使用它America/Los_Angeles
。
如果要将值解析为UTC,请使用:
moment.utc(theStringToParse)
或者,如果您想解析本地值 并将 其 转换 为UTC,请使用:
moment(theStringToParse).utc()
或者,也许您根本不需要它。仅因为输入值使用UTC,并不意味着您必须在整个函数中都使用UTC。
- 您似乎通过获得了“ now”实例
moment(new Date())
。您可以改为使用moment()
。
更新
根据您的编辑,我认为您可以执行以下操作:
var date_time = req.body.date + 'T' + req.body.time + 'Z';var isafter = moment(date_time).isAfter('2014-03-24T01:14:00Z');或者,如果您想确保您的字段被验证为正确的格式:
var m = moment.utc(req.body.date + ' ' + req.body.time, "YYYY-MM-DD HH:mm:ss");var isvalid = m.isValid();var isafter = m.isAfter('2014-03-24T01:14:00Z');


