查找去年同一天的日期?

时间:2010-02-02 18:35:54

标签: flex actionscript-3 date dayofweek

好的,例如,今天是2月2日星期二。与去年相同的“星期二”是在2月03日。

如何以编程方式找到它?

谢谢!

2 个答案:

答案 0 :(得分:3)

只是我的两分钱。我不喜欢这个想法,第二个答案假设一年52周,它将工作一年,但只是解决这个问题 - 例如。如果你想检查回到10年后的同样的东西它将无法工作。我会这样做:

var today:Date = new Date();    
// Here we store the day of the week            
var currentDay:int = today.day;
trace (today);      
const milisecondsInADay:uint = 1000*60*60*24;
// Here we move back a year, but we can just as well move back 10 years
// or 2 months      
today.fullYear -= 1;
// Find the closest date that is the same day of the week as current day
today.time -= milisecondsInADay*(today.day-currentDay);     
trace (today);

返回:

Tue Feb 2 21:13:18 GMT+0100 2010 
Tue Feb 3 21:13:18 GMT+0100 2009

答案 1 :(得分:2)

据谷歌称,一周有604,800,000毫秒。 52年的时间应该会给你一年后的同一天(对吧?)。

例如:

var date:Date = new Date(2010, 1, 2);
trace(date);
date.setMilliseconds(date.milliseconds - 604800000 * 52);
trace(date);

输出:

Tue Feb 2 00:00:00 GMT-0800 2010
Tue Feb 3 00:00:00 GMT-0800 2009