2013-07-03 62 views
40

是否可以使用jQuery UI Datepicker来格式化日期以显示小时,分钟和秒钟?如何使用jQuery UI Datepicker以小时,分钟和秒钟格式化日期?

这是我目前的样机:

$(function() { 
 
    $('#datepicker').datepicker({ dateFormat: 'yyy-dd-mm HH:MM:ss' }).val(); 
 
});
<html> 
 
<head> 
 
    <link rel="stylesheet" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css"> 
 
    <title>snippet</title> 
 
</head> 
 
<body> 
 

 
    <input type="text" id="datepicker"> 
 

 
    <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> 
 
    <script src="https://code.jquery.com/ui/1.9.2/jquery-ui.min.js"></script>

当我打电话.datepicker({ dateFormat: 'yyy-dd-mm HH:MM:ss' })返回的值是:

201313-07-03 HH:七月:SS

这是一个​​。

+1

日期选择器只允许您选择日期,而不是时间,因此格式化小时,分钟和秒不会受支持。你可以自己附加00:00:00。 –

+1

'var curTime = new Date()'。不过,您可以使用[时间](http://momentjs.com/)等库来进行格式化,不过您可以按照需要进行格式化。 –

回答

36
$("#datepicker").datepicker("option", "dateFormat", "yy-mm-dd "); 

对于时间选择器,你应该添加timepicker到日期选择器,它会用一个等效的命令进行格式化。

编辑

使用这个扩展jQuery UI的日期选择器。你可以选择日期和时间。

http://trentrichardson.com/examples/timepicker/

+0

我尝试了解更多关于这个问题的答案,但最后我在last.i中找到了你的答案,并且建议你回答date对象的返回对象,所以我修改了我的代码。谢谢... $(“## datepicker(“option”,“dateFormat”,“dd-mm-yy”)。val(); – Ashish4434

+0

怎么样在一起的日期和时间?看起来好像它不允许这种格式:你提供的库链接中的'yyyy-mm-dd HH:mm:ss'。 – Si8

33

试试这个fiddle

$(function() { 
$('#datepicker').datepicker({ 
    dateFormat: 'yy-dd-mm', 
    onSelect: function(datetext){ 

     var d = new Date(); // for now 

     var h = d.getHours(); 
     h = (h < 10) ? ("0" + h) : h ; 

     var m = d.getMinutes(); 
     m = (m < 10) ? ("0" + m) : m ; 

     var s = d.getSeconds(); 
     s = (s < 10) ? ("0" + s) : s ; 

     datetext = datetext + " " + h + ":" + m + ":" + s; 

     $('#datepicker').val(datetext); 
    } 
}); 
}); 
+1

伟大的解决方案,但它不会添加前导零。 ('0'+ d.getHours())。slice(-2)' 最好将新值应用于'$(this)'而不是'$(' #datepicker')'。如果你在选择器中有多个元素,比如'$('。datepicker')。datepicker(...)' – Amazzing

+0

我们怎样才能显示AM/PM呢? –

+0

它对我的工作感谢:) –

27

结合使用jQuery UI凭借着出色的DateTimePicker插件从http://trentrichardson.com/examples/timepicker/

可以指定DATEFORMATTIMEFORMAT

$('#datepicker').datetimepicker({ 
    dateFormat: "yy-mm-dd", 
    timeFormat: "hh:mm:ss" 
}); 
+0

截至目前,这似乎并没有工作 – dctucker

+0

@dctucker有什么问题?这确实是一个较老的答案。如果你能告诉我发生了什么问题,我可以更新它吗? – Notflip

+1

它对我的作品,谢谢 –

相关问题