2011-11-24 35 views
3

我正在使用DatePicker讓某人選擇某個星期。把它放入一個變量後格式化日期?

的HTML基本上是這樣的:

<form method="post" action=""> 
    <input type="text" id="beginDate" /> 
    <input type="text" id="endDate" /> 
</form> 

和JavaScript是現在這樣:

<script type="text/javascript"> 
    $(function() { 
     $("#beginDate").datepicker(
     { dateFormat: "dd-mm-yy", 
      onSelect: function() { 
       var mon = $(this).datepicker('getDate'); 
       mon.setDate(mon.getDate() + 1 - (mon.getDay() || 7)); 
       var sun = new Date(mon.getTime()); 
       sun.setDate(sun.getDate() + 6); 
       $(this).val(mon); 
       $('#endDate').val(sun); 
      } 
     }); 
    }); 
</script> 

這樣的作品,那種......它讓Mon Nov 21 2011 00:00:00 GMT+0100Sun Nov 27 2011 00:00:00 GMT+0100在我的文本框中。

我希望它們處於「dd-mm-yyyy」格式,所以只需21/11/2011。 我嘗試了諸如.formatDate之類的東西,但這似乎不起作用。

我知道我可以做一些像mon.GetDay() + "/" + mon.GetMonth() + "/" etc但JavaScript必須有某種適當的日期格式化程序,對不對?

回答

4

有在JavaScript本身沒有日期格式的功能,但使用的是jQuery UI的這麼試試這個:

$('#endDate').val($.datepicker.formatDate('dd/mm/yy', sun)); 
+0

謝謝,沒有工作:) –

0

JavaScript必須有某種適當的日期格式化程序,對不對?

你會想你會不會,但沒有。 OP中的解決方案是最好用的,即。在一個串起來串聯的日期,但不要忘了加1 mon.GetMonth(),因爲它是從零開始:

var dateString = mon.GetDay() + "/" + (mon.GetMonth() + 1) + "/" + mon.getFullYear(); 

有一個很好的腳本,你可以使用它提供的日期格式功能,這其他語言的常用色域提供here