簡體   English   中英

使用JavaScript將ISO 8601日期字符串格式設置為0:00 AM

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM