2013-07-03 245 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

它對我的作品,謝謝 –

相關問題