使用日期对象显示带有UTC日期时间输入的本地时间

Displaying local time with a UTC datetime input using Date Object

本文关键字:日期 时间 输入 UTC 对象 显示      更新时间:2023-09-26

我有一个表单,要求用户输入UTC日期和UTC时间。当输入字段发生任何变化时,将向用户显示相应的本地日期和时间。以下是HTML代码:

<form>
 UTC Date: <input type=text name=cDate value='' size=6 onchange='showLT();'>(DDMMYY)
 <br>
 UTC Time: <input type=text name=cTime value='' size=4 onchange='showLT();'>(HHMM)
 <br>
 Local Date and Time: <span id='local'></span>
</form>
<script type='text/javascript'>
function showLT() {
 var A = document.forms[0].cDate.value;
 var B = document.forms[0].cTime.value;
 var C = new Date(A.slice(4,6), A.slice(2,4)-1, A.slice(0,2),
  B.slice(0,2), B.slice(2,4), 0);
 document.getElementById('local').innerHTML = C.toLocaleString();
}
</script>

我面临两个问题:

  1. 对于两位数的年份,我一直认为它应该被解释为落在1970年至2069年的范围内。然而,当我尝试输入UTC日期为131211,年份被解释为1911年,而不是2011年
  2. 显示日期为1911年12月13日星期三08:32:00MALT,我想这是去马耳他的时间,而不是我所在的地方,那里有+8小时的路程。我没有在其他函数中显示我的本地时间时出现问题应用CCD_ 1。我很惊讶它显示了在这种情况下是不同的时区

您需要指定一个四位数的年份。。。或将+100添加到当前年份。

UTC时间和POSIX Epoch时间是两种不同的时间。