Какое значение предоставляет JavaScript Date() ?

#javascript #date

#javascript #Дата

Вопрос:

Я пытаюсь понять, что представляет значение функции JavaScript Date() .

 <!DOCTYPE html>
<html>
<body>
<p> Current date time:</p>
<p id="d"></p>
<p> Number of Milliseconds since 1970/01/01: </p>
<p id="d1"></p> 
<p> Number of Days since 1970/01/01: </p>
<p id="dn"></p> 

<script>
    var d = new Date();
    document.getElementById("d").innerHTML = d;
    document.getElementById("d1").innerHTML = d/1;
    document.getElementById("dn").innerHTML = d/(1000*60*60*24);
</script>

</body>
</html>
 

Это вывод:

 Current date time:
Thu Apr 18 2019 16:03:20 GMT-0400 (Eastern Daylight Time)
Number of Milliseconds since 1970/01/01:
1555617800698
Number of Days since 1970/01/01:
18004.835656226853
 

Мой вопрос — это последнее число, которое я бы предположил, сколько майских дней было с 1970/01/01. Сейчас 4:03 вечера или 16:03. 16/24 = 0,6667 или что день выполнен на 2/3. Тем не менее, приведенный выше результат равен .8356, предполагающий, что это 8:00 вечера (.8356×24-12).

Чего мне не хватает?

Комментарии:

1. Вы упускаете из виду, что базовым временем является полночь UTC, а не ваш собственный часовой пояс.

2. EDT отстает от UTC на 4 часа.

3. Спасибо, Бармар. Я должен был это понять — долгий день. Опубликуйте это как ответ, и я проголосую за его решение. Приветствия.