[英]Format ISO 8601 date string to 0:00AM with javascript
我有以下ISO 8601日期字符串:
var isoDate = 2013-10-01T09:00:00.000-04:00;
嘗試使用Date()
函數設置Date()
格式時,日期的時區更改為我的本地時區(請注意,它是08:00
而不是09:00
)
Date.fromISOString(isoDate); /* Returns: Tue Oct 01 2013 08:00:00 GMT-0500 (Central Standard Time)*/
我想保持當前字符串的原始時區完整無缺。
如果字符串具有09:00
,我想輸出9PM
。
最常規的方式是什么?
注意:我也嘗試過使用datejs時不走運。 嘗試以下操作返回空白結果:
Date.parse('2013-10-01T09:00:00.000-04:00')
使用new
運算符, Date
構造函數, toISOString
方法和多個字符串替換來保留原始字符串:
var foo = "2013-10-01T09:00:00.000-04:00";
var bar = foo.substr(-6);
var baz = foo.substr(11,2)
var isoDate = new Date(foo).toISOString().replace("Z",bar).replace(/T../,"T"+baz);
var hours = String(baz).concat(Number(baz) < 12 ? "PM" : "AM").replace(/^0/,"")
參考文獻
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.