Как отформатировать строку инициализации для очень старой даты (около 0 года н.э.) в JavaScript? - PullRequest
3 голосов
/ 17 июня 2020

Я хочу представить в JavaScript год 0, а не 1970, который, как мы знаем, является фактическим нулевым годом. Я хочу знать, как правильно отформатировать эту или любую строку даты с необычно малым числом лет. Я попытался инициализировать его с помощью new Date('0000-00-00T00:00:00'), а также new Date('0-00-00T00:00:00'), но оба раза метод toString сказал 'Invalid Date'.

Я только что понял, что могу обойти это, используя 1970 год и смещая его, так что это не совсем критично для миссии, но якобы JavaScript может работать как с очень маленькими, так и с очень большими годами, более плюс-минус 200000. Мне кажется странным и глупым, что его реализации не поддерживают инициализацию дат одним из стандартных способов для всех лет в его диапазоне. Я нахожу в JavaScript много странного, тупого и непоследовательного, честно говоря, некоторые из них, без сомнения, из-за отдельных реализаций, но мое мнение остается неизменным.

Хорошо, теперь я оскорбил язык , вы можете продолжить просветить меня, если есть способ сделать это.

Ответы [ 2 ]

1 голос
/ 17 июня 2020

К. Я разобрался. Я был непоследователен и глуп! И так было JavaScript. Это не безупречно.

Годы, часы, минуты и секунды могут быть равны нулю, но месяцы и дни начинаются с 1. Мне просто нужно установить месяц и день по умолчанию 01, а не 00.

0 голосов
/ 17 июня 2020

Может это?

var date = new Date();
date.setFullYear(0);
var year = date.getFullYear();
alert(year);
...