为什么更改日期jQuery datepicker的格式失败?

时间:2011-06-29 18:43:23

标签: javascript jquery jquery-ui datepicker

我知道这里有很多关于更改datepicker dateFormat的问题,但我完全按照说明操作,它们似乎没有任何效果。以下是其他答案中建议的确切代码:

$(document).ready(function() {
    $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' });
});

然而,当我运行它时,用alert($('#datepicker').datepicker("getDate"));

测试datepicker值

我以不受欢迎的格式取回了约会对象!这非常令人困惑。我错了吗?请参阅http://jsfiddle.net/TmdM8/

中描述的行为

编辑:更令人困惑的是,如果我使用alert($("#datepicker").datepicker('option', 'dateFormat'));

阅读dateformat

...返回的dateFormat是正确的,即使调用getDate没有以所需的格式返回日期。见http://jsfiddle.net/fWmBe/

4 个答案:

答案 0 :(得分:5)

日期格式设置适用于在应用选择器的文本框中显示格式时的格式。

查看我的小提琴的更新版本:

http://jsfiddle.net/TmdM8/1/

如您所见,当您在文本框中选择并选择日期时,它采用您指定的格式。
据我所知,getDate函数返回一个javascript日期。

编辑: 如果你想格式化javascript日期的输出,你需要使用自定义脚本,或者像date.js这样的库(我已经取得了很大的成功)。

http://code.google.com/p/datejs/

你可以这样做:

$('#datepicker').datepicker("getDate").toString('dd-MM-yyyy');

以您喜欢的格式获取日期

答案 1 :(得分:0)

我同意它返回一个javascript日期。您可以使用此实用程序功能:

$。datepicker.formatDate(格式,日期,设置) - 将日期格式化为具有指定格式的字符串值。

来自http://docs.jquery.com/UI/Datepicker/formatDate

答案 2 :(得分:0)

这里发生的事情是getDate返回一个javascript日期对象。您正在查看日期对象的toString方法。

试试这个:

$(document).ready(function() {
   $('#datepicker').datepicker({
   onSelect: function(dateText, inst) { alert(dateText) }
   });
$('#datepicker').datepicker( "option" , 'dateFormat', 'yyyy-mm-dd' )


});

答案 3 :(得分:0)

如果有人像我一样寻找这个答案。这是一个有效的代码:

<script>
$(function() {
$( "#datepicker" ).datepicker({inline: true, dateFormat:'yy-mm-dd'}); });
</script>