我要求找到2次(HH:MM:SS次)格式之间的差异。
需要在几秒钟内获得差异。
var a = moment('21:04:59');
var b = moment('21:04:00');
a - b = 59 seconds
我试过以下 它以日期时间格式为我工作,但不是单独提交时间。
var a = moment('2016-06-06T20:30:59');
var b = moment('2016-06-06T20:30:00');
console.log(a.diff(b, 'seconds')) // 59 seconds
答案 0 :(得分:2)
你必须像在moment
var a = moment({
h: 21,
m: 04,
s: 59
});
var b = moment({
h: 21,
m: 04,
s: 00
});
<强>输出强>
console.log(a.diff(b, 'seconds'))
// 59秒
答案 1 :(得分:0)
在核心中,moment.js不支持仅限时间的数据。即使您提供仅限时间的数据,它也会尝试将“今天”存储为日期。
但你仍然可以做到这一点。
法律途径
var a = moment('21:04:59', 'HH::mm::ss');
var b = moment('21:04:50', 'HH::mm::ss');
alert(a-b); // returns miliseconds
棘手的替代
var dummyDate = '2016-05-05T'; // any date
var a = moment(dummyDate + '21:04:59');
var b = moment(dummyDate + '21:04:00');
console.log(a.diff(b, 'seconds'))
答案 2 :(得分:0)
在将字符串解析为时刻对象时,您只需添加正确的格式( $error ="";
if($count == 1) {
session_register("username");
$_SESSION['username'] = $username;
header("location: ../home");
}else {
$error = "Your Login Name or Password is invalid";
}
)。
您的代码提供了弃用警告,因为您正在尝试解析不是已知ISO 8601格式的字符串。正如documentation states:
警告:浏览器对解析字符串的支持不一致。因为没有关于应该支持哪种格式的规范,所以在某些浏览器中有效的功能在其他浏览器中不起作用。
为了解析除ISO 8601字符串以外的任何其他内容的一致结果,您应该使用String + Format。
请注意,由于您未提供有关日期部分的信息,因此会创建一个包含当前日期,月份和年份的对象。
这是一个工作示例:
'HH:mm:ss'
var a = moment('21:04:59', 'HH:mm:ss');
var b = moment('21:04:00', 'HH:mm:ss');
console.log(a.diff(b, 'seconds'));
有趣的是:我前一段时间给了你一个类似的answer