我正在使用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+0100
和Sun Nov 27 2011 00:00:00 GMT+0100
放在我的文本框中。
我希望它们采用“dd-mm-yyyy”格式,所以只需21/11/2011
。
我尝试了诸如.formatDate
之类的东西,但这似乎不起作用。
我知道我可以做mon.GetDay() + "/" + mon.GetMonth() + "/" etc
之类的事情但javascript必须有某种正确的日期格式化器,对吗?
答案 0 :(得分:4)
JavaScript本身没有日期格式功能,但你使用的是jQuery ui,所以试试这个:
$('#endDate').val($.datepicker.formatDate('dd/mm/yy', sun));
答案 1 :(得分:0)
javascript必须有某种正确的日期格式化程序,对吧?
你认为不是你,但不是。 OP中的解决方案是最好的,即。将日期连接在一个字符串中,但不要忘记将{1}添加到mon.GetMonth()
,因为它基于零:
var dateString = mon.GetDay() + "/" + (mon.GetMonth() + 1) + "/" + mon.getFullYear();
您可以使用一个很好的脚本,它提供了其他语言提供的日常格式化功能here