Розробники · Unix timestamp конвертер
Як браузер перетворює епоху в локальний час з Дата та інtl
· Як працює
Опубліковано ToolAcre · Редакція журналу
частампи Завантажити плагін веб-сайт

Перетворювач веб-переглядача не має серверних годинників або часових зон бази даних власних; він спирається на об'єкт Дата та інtl API резервне копіювання операційної системи. Цей пост пояснює, що трубопровод і його межі.
Де знаходиться браузер? — те ж саме епоха показує по-різному на ноутбуці і телефоні в одному номері
Два пристрої, що знаходяться в одному місці, можуть мати одну епоху, інакше, коли вони налаштовані локальні зони відрізняються. Ціль не змінюється між ноутбуком і телефоном; кожен браузер створює той самий миттєвий, після чого подає локальні календарні поля для власного середовища. «Локально» тому описує читача не майно, яке здійснюється всередині епоху.
ToolAcre робить цю залежність видимою за допомогою маркування локального ряду `Intl.DateTimeFormat().resolvedOptions().timeZone`. Знімок екрана, який говорить один годинниковий час і серверний журнал, який говорить ще може бути вірними читаннями. Порівняти їх UTC ряди першими; узгодження UTC показує вихід, що презентація, а не основний момент, відрізняється.
Дата бере мілісекунди — договір конструктора, чому секунди повинні бути переповнені тисячами, а дата діапазону може представляти
JavaScript `Date` отримує мілісекунди з епоху. ToolAcreй `fromEpoch` багатоположення введення секунд за допомогою 1,000 і залишає вводити мілісекунди до побудови об'єкта. Що таке перетворення, тому що проходження 1,717,243,200 прямо до `new Date` буде означати близько двадцяти днів після 1970, не червня 2024.
Впровадження відхиляє нефіцитний номер і будь-яке значення перекладу за межами ±8.64×1015 мілісекунди до форматування. Цей ліміт надходить з діапазону даних, який називається у джерело, не з бази даних або операційної системи. Зміна селектива може перемістити значення по межі, так що помилка також говорить про те, що пристрій було застосовано.
UTC відвідувачі versus Local accessors — getUTCHours and getHours, і як двигун застосовує офсет
ToolAcre не екстракт полів `getUTCHours` і `getHours`; слов'янське слово є більш специфічним, ніж виконання. Він просить `Intl.DateTimeFormat` форматувати дату раз з `timeZone: "UTC"` і один раз без зони перенаречений. Обидва дзвінки отримують однакове значення мілісекунду, тому не можна перемістити сам захід.
Відрізняється, що при розведенні. Якщо ви погоджуєтесь з виробником, але локальна етикетка здивує вас, перевірте зону браузера, а не додаючи годин до епоху. Ручний офсетний арифмететик дозволить створити інший миттєвий, а потім дати форматування застосувати локальні правила знову, виготовляючи класичний помилки подвійного регулювання.
UTC і локальне форматування попросіть двигун на два читання однієї дати
Перетворювач може довести, що він просить браузер для `resolvedOptions().timeZone`; не можна довести, чи одержується окремий двигун з кожним правилом часу від операційної системи, роз’ємом даних або іншим шаром платформи. Джерело навмисно лікує, що техніка як відповідальність двигуна і спадає назад до фрази “малий час” якщо зона запиту не вдається.
Цей доказ обмежений корисний. Названа зона в результаті визначає поточний вибір браузера, але це не звіт про версію для бази даних часового поясу. Якщо два середовища не згодні на старій дати, записувати браузер, операційну систему та виводити зону. Конвертер забезпечує спостереження; не діагностує пакет даних за Intl.
У браузері є локальна зона, в той час як джерело його правило залишається детальмологічною.
Для ISO ряд, `toISOString()` постачання UTC string з причіпом Z і трьома дробовими цифрами. Людина-прочитаний UTC і локальні рядки використовують англійський форматер Великої Британії з числовим роком, скорочений місяць, два-цифровий день і 24- час. Форматер також запити `shortOffset`, що робить застосовану відкладну частину кожного рендерованого ряду.
Ми можемо самі зателефонувати одержувачу `Date.toString()` від консолі не є еквівалентними доказами. Точний проз - це локально-залежний і поза цим договором виведення інструменту. ToolAcre фіксує параметри відображення, в той час як і раніше, дозволяючи фактичній локальній зоні варіюватися. Статус на сервери ISO значення, коли інша система потребує стабільного порівняння машин.
Приклад роботи: один епох, три виходи — UTC ISO string, локально відформатований час і офсет за хвилину від getTimezoneOffset
Увійти 1,717,243,200 і оберіть секунди. Виробництво 1,717,243,200,000 мілісекунди, які тести встановлюються як `2024-06-01T12:00:00.000Z`. У UTC формати рядків, які миттєво в UTC; локальний ряд форматує ідентичну дату в зоні браузера і імен, які зони. За секундами і мілісекундами ряди зберігають як чисельні форми.
Точний локальний годинник і офсет необхідно прочитати з пристрою, що працює на прикладі; публікувати його тут, щоб кожен читач має однакову зону. Ось чому ця перевірка працює ISO стверджувати як його фіксований результат і лікує локальний вихід у вигляді вираженого значення. Якщо ISO різниться, відредагувати вибраний блок перед налаштуваннями місця розташування.
Працював приклад: один епох, три виходи ToolAcre насправді вибухає
Цей маршрут не пропонує вибірника для довільної третьої зони. `formatInZone` може прийняти зону внутрішньо, але панель викликає його для UTC і для браузера тільки за замовчуванням. У статті розглянуто, що користувачі можуть вибрати Токіо, Найробі або Торонто описати інтерфейс, який не відправлений, хоча Intl може підтримувати такий форматування в іншому місці.
Також не передбачає вибору календаря, вибору локального або поточного бази даних. Для перехресного перетворення зберігайте епоха як анкер і використовуйте інструмент, який документував інтерфейс імен цільової зони. Тут вузька обіцянка цінна: універсальний UTC припинити локальне середовище, без прихованого сервера, що позбавляє від локальних засобів.
Ведуться: Ваш браузер є годинником і атласом — і як працює конвертер Unix UTC локальна сторона без сервера
У браузері діє як арифметичний двигун, так і презентаційне середовище. ToolAcre вирішує блок, створює одну дату, просить канонічну ISO значення, потім формати UTC і локальні читання по боці. Не потрібна послуга дистанційного перетворення для тих кроків, і відображається блок зберігає фактор1,000 рішення, доступні для перегляду.
При виході з незгоди через пристрої, порівняти ISO ряд, замітка одиниці і названа місцева зона в такому порядку. Ті три спостереження окремі миттєві, масштабні та презентації. Виконуючи локальний годинник, як джерело правди згортає всі три питання в одну і робить правильну конвертацію неправильно, коли всі зони змін перегляду.