繁体   English   中英

一天中的新JavaScript日期对象

[英]New JavaScript date object from seconds of a day

看起来很简单,但我不知道。

我一天中有74141秒,如何从该数字创建Date对象以小时和秒为单位表示时间? 我不在乎的实际日期,因为我将使用getHours / Seconds / Minutes设置另一个具有正确日期的日期。

为此 ,可以使用Date.prototype.setSeconds 您实际上不需要担心转换,因为这是自动的:

var date = new Date(1970, 0, 1); 
date.setSeconds(secs);

上面的技巧是基于“ Date正好指向午夜的事实,因此您返回的时间很精确。 出于精确原因,我使用EPOCH,尽管任何“精确”午夜都可以。

  1. 获取日期

      var now = new Date(); 
  2. 将时间字段清零:

      now.setHours(0).setMinutes(0).setSeconds(0).setMilliseconds(0); 
  3. 从您的时间中创建一个新的时间:

      var theTime = new Date(now.getTime() + timeInSeconds * 1000); 

您当然可以使用表示任何其他日期的Date实例,但是似乎使用当前日期是最不可思议的事情(除非有其他条件)。

编辑 -实际上,在将时间字段清零之后,您可以将.setSeconds()与您的值一起使用,并避免创建新对象。 一种方法或另一种方法可能都不是大问题。

除了alex23的答案外,足以将0用作日期构造参数。

var date = new Date(1970, 0, 1);
// same as
var date = new Date(0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM