Отображение местного времени с вводом даты и времени в формате UTC с использованием объекта Date - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть форма, в которой пользователь должен ввести дату 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. Отображаемая дата показа: Ср. 13 декабря 1911 г. 08:32:00 Солод , я полагаю, что это время для Мальты, а не для моего региона, до которого +8 часов. У меня нет проблема отображения моего местного времени в других функциях, где toLocaleString() применяется. Я удивлен, что это показывает другой часовой пояс в этом случае.

1 Ответ

0 голосов
/ 03 апреля 2012

Вы хотите указать год из четырех цифр ... или добавить +100 к текущему году.

Время UTC и время POSIX Epoch - это две разные вещи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...