我工作的JavaScript和停留在一個小問題。如何格式化格式正確日期在JavaScript
我收到此日期JSON響應1322919399447-0500
,我想格式化這個樣:6:50 PM, Dec 3rd 2011
。
我工作的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
然後,您可以將這些部分連接成您自己的格式。就像我說的那樣,可能有更好的方法,但是這種方法很有效。
哦,這個帖子裏提到了很多好東西。一探究竟。 –
Date構造函數中的'-0500'不是一個好主意。首先,它打算是一個時區偏移量(從UTC開始的小時數)。另一方面,嚴格模式外的'0500'將導致'320',即八進制'0500'的十進制值。所以實際上,你距實際日期值320毫秒,而不是5小時。 –
thanx很多....! –
我用這個方便的小date format addon和它的工作對我非常好。甚至在這個月裏照顧了討厭的互聯網瀏覽器怪癖。
Here是你的榜樣輸入該代碼段。它使用script鏈接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的日期功能使用相同的標誌相似的日期格式的功能。
的
可能重複[如何格式化JSON日期?(http://stackoverflow.com/questions/206384/how-to-format-a-json-date) – ajreal
是一個熱門的話題,你可以找到現有的問題(當然是這樣) – ajreal
你能否請你重溫這個問題,檢查答案並接受你最喜歡的那個? – kubetz