Только мои два цента. Мне не нравится идея, что второй ответ предполагает 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