我將以非UTC合規格式獲得輸入時間格式爲「2016-04-10 9:00:00.0」。我需要在時間後附加「T」以使其符合UTC。我還會在輸入中獲得時區,例如「-5.00」。有了這個細節,我需要將我的輸入時間轉換爲下午4點(作爲TimeZone傳遞的EST時間)。JavaScript:如何將UTC日期時間轉換爲使用純Javascript的EST時間?
我不能使用任何第三方庫。
HTML
<h1>
TimeZone
</h1>
<h2 id="hourValue">
</h2>
<table>
<tr>
<td>Date Time</td>
<td><input type="text" id="txtDate" value="2016-04-10 09:00:00.0" /></td>
</tr>
<tr><td>TimeZone</td></tr>
<tr><td><input type="text" id="txtOffset" value="-5.00" /></td></tr>
<tr><td><input type="submit" id="btnSubmit" value="Convert" onClick="myTime()" /></td></tr>
</table>
JavaScript
function myTime()
{
var d1= document.getElementById("txtDate").value;
var zOffset = document.getElementById("txtOffset").value;
console.log("Date1",d1);
var d2 = new Date(d1.replace(/ /g,'T'));
var d3= d2.getTime()+(d2.getTimezoneOffset()*60000);
console.log("Date2",d2);
console.log("Date3",d3);
var d4 = new Date(d3 + (3600000 * zOffset));
console.log("Date3",d3);
console.log("Date 4",d4);
var d5 = d4.toLocaleString();
console.log("Date 5",d5);
d6 =d5.match(/(\d+)(?=:\d+:\d+)|([A-Z]+)(?=$)/g).join(" ");
console.log("Date6",d6)
document.getElementById("hourValue").innerHTML = d6.value;
}
我在評論區下面給出的jsfiddle鏈接,小提琴工作正常在FF而不是在IE中。這是我的問題。
http://momentjs.com/ – Mike
的jsfiddle鏈接,上述代碼:https://jsfiddle.net/etpo99ua/31/。這jsFiddle不工作在Internet Explorer中,並在Firefox中工作正常 – user5970552