2012-11-21 25 views
-1

我正在使用的腳本如下:可以在javascript

var startDate = new Date("10/12/2012"); 
var endDate = new Date("10/18/2012"); 

我想用的startDate動態創建的最後一個星期一日期和結束日期的最後一個星期日的日期。我曾嘗試以下:

var curr = new Date; // get current date 
var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week 
var last = first + 6; // last day is the first day + 6 
var startDate = new Date(curr.setDate(first)).format("m/dd/yyyy"); 
var endDate = new Date(curr.setDate(last)).format("m/dd/yyyy"); 

但出於某種原因,這並不工作 - 沒有爲起始日期或結束日期變量輸出。

任何想法我做錯了什麼?

+0

請定義什麼「這行不通」的意思。 –

+0

你的意思是「前一個星期一」?那麼您是否想要在本週之前獲得週一到週日的跨度? – jrajav

+0

Kiyura - 是的,這就是我的意思 – user18577

回答

3

Javascript日期時間對象沒有格式方法。你需要使用圖書館或生成的字符串是自己:

var curr = new Date; // get current date 
var first = curr.getDate() - curr.getDay(); // First day is the day of the month - the day of the week 
var last = first + 6; // last day is the first day + 6 
var startDate = new Date(curr.setDate(first)); 
startDate = "" + (startDate.getMonth() + 1) + "/" + startDate.getDate() + "/" + startDate.getFullYear(); 
var endDate = new Date(curr.setDate(last)); 
endDate = "" + (endDate.getMonth() + 1) + "/" + endDate.getDate() + "/" + endDate.getFullYear(); 

這裏有一個小提琴http://jsfiddle.net/DPQeB/2/,其輸出

2012年11月18日
2012年11月24日

一個允許格式化日期的庫是jQuery UI

+0

太好了,謝謝Matt – user18577

1

使用date.js獲得最後一個星期日

Date.today().moveToDayOfWeek(0, -1); // -1 indicates to go back 

最好使用一個庫處理日期。它會讓你的生活變得更輕鬆。

說了這樣一個長期目標就是了解JavaScript中的日期。它會幫助你進行諸如調試之類的事情。

+0

謝謝布魯諾會看看 – user18577

0

如果從星期日開始:

var today = new Date(); 
var sundayOfWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()-8); 
var mondayOfWeek = new Date(today.getFullYear(), today.getMonth(), today.getDate() - today.getDay()+1); 

console.log(mondayOfWeek); 
console.log(sundayOfWeek);