2014-07-02 206 views
0

这里是我试图解决一个有趣的问题MS:查找的时间范围内给出的当前时间

在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; 
+1

['Date.js'(https://开头code.google.com/p/datejs/)应该这样做。 –

+0

看看那个......天才。随意添加它作为答案,它是完美的,因为它得到 – ZekeDroid

+0

这不是我的发现。这是在[另一个SO帖子]中提出的(http://stackoverflow.com/questions/4822852/how-to-get-the-day-of-week-and-the-month-of-the-year)。我不知道如何处理当地时间。 –

回答

1

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

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)); 
+0

“*当地时间16:00:00”*“? –

+0

我喜欢它,但是这看起来是从今天开始加上2的那一天?本来应该给出任何开始日期,找到前一个星期五。我坚持使用Date.js,因为它可以帮助我重新发明轮子。虽然谢谢! – ZekeDroid

+0

@ZekeDroid,oops没有看到小时16.看到更新的答案。 '+ 2'表示减去星期六和星期六,'-16/24'表示增加16小时 – Fabricator

相关问题