如何使用JavaScript转换小时:分钟

时间:2018-07-18 12:20:00

标签: javascript

我目前正在研究Jvascript日期时间部分,因为在将小时和分钟转换为秒(如PHP的strtotime)时出现NaN错误,所以我想知道如何像在PHP的strtotime中转换分钟和秒。

var d = new Date();
var total = d.getHours() + ":" + d.getMinutes();
var ts = Date.parse(total);
document.write(ts);

在输出中出现错误NaN

4 个答案:

答案 0 :(得分:3)

这是一个愚蠢的问题,但这是该小时数和分钟数的秒数:

var d = new Date();
var total = (d.getHours() * 60 * 60) + (d.getMinutes() * 60);
document.write(total);

答案 1 :(得分:1)

首先,Date.parse()采用特定格式的字符串(例如Jul 18, 2018)。其次,它将将日期转换为秒,但是将返回自 1970年1月1日格林尼治标准时间起的毫秒数。

如果需要将hh:mm转换为秒,正确的方法是将getHours()的值乘以3600,再将getMinutes()的值乘以60,然后将这两个值相加。

var d = new Date();
var timeinsecs = d.getHours() * 3600 + d.getMinutes() * 60;
document.write(timeinsecs);

如果您需要获取从格林尼治标准时间1970年1月1日00:00:00到当前时间的秒数,则需要解析当前日期,然后除以1000:

var d = new Date();
document.write(Date.parse(d) / 1000);

答案 2 :(得分:0)

只需获取小时和分钟,然后将它们相加即可乘以小时* 3600和分钟* 60,就像这样

var d = new Date();
var total = d.getHours() * 3600 + d.getMinutes() * 60;
document.write(total)

答案 3 :(得分:0)

如果您想采用不手工进行数学运算的原始方法,则需要在时间之前添加一个日期(任何日期都可以,如果您愿意,可以是今天),然后将ms转换为秒(两者都可以)由于Wais Kamal指出的原因)如下。

var d = new Date();
var total = d.getHours() + ":" + d.getMinutes();
var someDate ='July 4, 1776';//works, but maybe safer to choose since 1990
total=someDate+', '+total;
var ts = Date.parse(total);
document.write((ts- Date.parse(someDate))/1000);