[英]How to format existing date using JavaScript/jQuery
我正在嘗試使用 JavaScript/jQuery 格式化日期時間,但它沒有發生。 我的代碼如下。
<div id="divID"></div>
<script>
var formatDate = function(date){
return date.getDate() + "/" + date.getMonth() + "/" +date.getYear() + " "+ date.getHours() + ":" + date.getMinutes() + ":" + date.getMintutes() + ":" + date.getSeconds();
}
var timestamp="2016-12-16 07:58:30 AM ";
var date= new Date(timestamp);
document.getElementById('divID').innerHTML = formatDate(date);
</script>
在這里,我有現有時間2016-12-16 07:58:30 AM
,我需要將其更改為16-12-2016 07:58:30 AM
但在這里我無法獲得正確的輸出。
您的代碼有幾個問題:
getMintutes()
getFullYear()
比getYear()
更適合您的需求-
not /
來分隔日期值。hours < 12
是否將AM
或PM
添加到字符串的末尾考慮到這一點,試試這個:
var formatDate = function(date) { return date.getDate() + "-" + date.getMonth() + "-" + date.getFullYear() + " " + ('0' + date.getHours()).slice(-2) + ":" + ('0' + date.getMinutes()).slice(-2) + ":" + ('0' + date.getSeconds()).slice(-2) + ' ' + (date.getHours() < 12 ? 'AM' : 'PM'); } var timestamp = "2016-12-16 07:58:30"; var date = new Date(timestamp); document.getElementById('divID').innerHTML = formatDate(date);
<div id="divID"></div>
您可以使用庫來簡化日期格式化邏輯,但是當一行代碼工作正常時加載一個完整的庫是相當浪費的。
您使用的時間戳將返回無效日期,因此您應該刪除AM
。 使用moment.js你可以這樣做:
var timestamp = "2016-12-16 07:58:30"; var formattedDate = moment(timestamp).format('DD-MM-YYYY h:mm:ss A'); console.log(formattedDate);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.5.1/moment.min.js"></script>
您可以使用名為moment.js
http://momentjs.com/的庫
var date = new Date();
moment(date).format('DD-MM-YYYY HH:mm:ss A')
jQuery dateFormat是一個單獨的插件。 您需要使用<script>
標簽顯式加載它。
您可以使用 JQuery UI Datepicker 獲取如下格式的日期。
let myDate = '2020-11-10';
$.datepicker.formatDate('dd-M-yy', new Date(myDate));
上面的代碼將返回 10-Nov-2020。
您可以使用 JQuery UI Datepicker Widget 獲得所需的輸出,如下所示。
var timestamp="2016-12-16 07:58:30 AM ";
var desiredTimestamp = $.datepicker.formatDate('dd-mm-yy', new Date(timestamp.split(' ')[0])) + ' ' + timestamp.split(' ')[1] + ' ' + timestamp.split(' ')[2];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.