[英]How to format date in correct format in JavaScript
我正在研究JavaScript並陷入一個小問題。
我在JSON回復1322919399447-0500
收到此日期
我希望格式化為: 6:50 PM, Dec 3rd 2011
。
我使用了這個方便的小日期格式插件 ,它對我來說非常好用。 這個月甚至照顧了討厭的互聯網瀏覽器怪癖。
我不確定這是不是最好的方式(我確定它不是,實際上),但實質上你可以將日期字符串變成一個js Date對象,然后根據你的需要拉出碎片進行操作:
var dateThing = new Date(1322919399447-0500);
dateThing.getFullYear(); // 2011
dateThing.getDay(); // 6
dateThing.getDate(); // 3
dateThing.getMonth(); // 11
dateThing.getHours(); // 8 (test for anything over 12, that indicates PM)
dateThing.getMinutes(); // 36
然后,您可以將這些部分連接成您自己的格式。 就像我說的那樣,可能有更好的方法,但這種方法很有效。
以下是您的示例輸入的代碼段。 它是使用腳本由Zoidberg鏈接。
此代碼返回格式化的UTC日期。 如果您想要本地日期,請從return
語句中刪除UTC:
.
function convertTime(dateString) {
// get ms part from the string
var milis = +dateString.substring(0, 13);
// get timezone part as "# of hours from UTC", e.g. "-0500" -> -5
var offset = +dateString.substring(13, 16);
// move the time for "offset" number of hours (to UTC time)
var date = new Date(milis - offset * 3600000);
// using http://stevenlevithan.com/assets/misc/date.format.js
return date.format("UTC:h:MM TT, mmm dS yyyy");
}
編輯 :將+ offset *
更改為- offset *
因為我們要將其標准化為UTC。
這是我創建的類似日期格式函數,它使用與PHP日期函數相同的標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.