Когда я использую иконку «вставить дату/время» для вставки даты, кажется, возникает конфликт между временем в Осло (GMT+1) и ETC/GMT+1. Это ошибка или на самом деле есть разница между GMT+1 и ETC/GMT+1?
Вот живой пример: Monday, November 8, 2021 7:00 PM
Боюсь, что техническая причина здесь довольно запутанная — вы можете прочитать об этом по адресу Moment Timezone | Docs
Совместимость с POSIX требует инвертирования смещений. Следовательно, Etc/GMT-X будет иметь смещение +X, а Etc/GMT+X — смещение -X. Это результат Базы данных часовых поясов IANA, а не произвольный выбор Moment.js. Поэтому предпочтительнее использовать идентификаторы на основе локалей, а не фиксированных смещений.
Таким образом, в базе данных часовых поясов IANA Europe/Oslo в настоящее время эквивалентно Etc/GMT-1.
Monday, November 8, 2021 7:00 PM
Мне интересно, можем ли мы или должны ли мы ввести собственные алиасы часовых поясов UTC+1, UTC+2 (без префикса Etc/). (cc @j.jaffeux)
Если это несложно, я, вероятно, предложил бы также удалить пояса Etc. За исключением некоторых экземпляров Discourse, связанных с POSIX или временем, эти пояса будут в значительной степени нерелевантными и часто запутанными, если пользователь хочет указать смещение, а не локаль. Они появятся в списке перед GMT/UTC, и обычный пользователь не будет знать, что означает префикс Etc.
Если они не будут удалены, префикс должен быть включен в отображение вставленного времени. Возможно, даже с каким-то указанием на то, что это может быть не тем, чего ожидает пользователь, например, Etc/GMT+1 (= GMT-1).
@david спасибо за ответ и ссылку! Так что, исходя из того, что я пока пришёл к выводу как к решению, лучше избегать использования ETC/GMT и вместо этого использовать название города.