【问题标题】:Find range of times in ms given current time在给定当前时间的情况下以毫秒为单位查找时间范围
【发布时间】:2014-08-23 21:43:04
【问题描述】:

这是我要解决的一个有趣的问题:

在 JS 中,我创建了以下内容:

var millis_now = new Date().getTime();

仅凭这些信息,我必须在当地时间 16:00:00 找到这个星期五之前的毫秒(unix)时间。因此,对于今天 2014 年 7 月 2 日 15:48:00 (1404341280000) 左右,它必须找到上周 2014 年 6 月 27 日 16:00:00 (1403910000000) 的星期五。

我可能需要修改它,但我不知道如何找到这个数字。以防万一,这里有一些有用的值可能会有所帮助:

var MILLIS_PER_DAY = 86400000;
var MILLIS_PER_WEEK = 604800000;

【问题讨论】:

  • Date.js 应该这样做。
  • 看看那个……天才。随意添加它作为答案,它是完美的,因为它得到了
  • 这不是我的发现。这是在another SO post 中提出的。我不知道如何处理当地时间。

标签: javascript jquery epoch


【解决方案1】:

上周五 = 今天 - 星期几 - 2 天

var curtime = new Date();
var curDate = new Date(curtime.getFullYear(), curtime.getMonth(), curtime.getDate());
var lastFriday = new Date(curDate - MILLIS_PER_DAY * (curDate.getDay()+2-16/24));

【讨论】:

  • 当地时间 16:00:00”怎么样?
  • 我喜欢它,但这看起来是从今天开始加上 2 天?应该给出任何开始日期,找到上一个星期五。我坚持使用 Date.js,因为它使我免于重新发明轮子。不过谢谢!
  • @ZekeDroid,哎呀没有看到 16 小时。请参阅更新的答案。 +2 表示减去周日和周六,-16/24 表示增加 16 小时
猜你喜欢
  • 2010-10-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-25
  • 2017-02-20
  • 1970-01-01
  • 2021-07-12
  • 2011-03-09
相关资源
最近更新 更多