Ви можете встановити часовий пояс для тривалості запиту, таким чином:
TZ=America/New_York date
Зауважте пробіл між TZналаштуваннями та dateкомандою. У rcоболонці Борна та-подібній оболонці, яка встановлює TZзмінну лише для командного рядка. В інших оболонках ( csh, tcsh, fish), ви завжди можете використовувати envкоманду замість:
env TZ=America/New_York date
тл; д-р
На системах Linux. часові пояси визначаються у файлах /usr/share/zoneinfoкаталогу. Ця структура часто називається "база даних Ольсона", щоб вшанувати свого засновника.
Правила для кожного часового поясу визначаються як рядки текстових файлів, які потім компілюються у двійковий файл. Рядки, складені так, визначають назву зони; діапазон даних та час, протягом яких застосовується зона; зміщення від UTC за стандартний час; і позначення для визначення того, як відбувається перехід на літній час і з нього, якщо це застосовно.
Наприклад, каталог "Америка" містить необхідну інформацію для Нью-Йорка у America/New_Yorkвикористаному вище файлі .
Будьте уважні, що специфікація неіснуючої зони (назва файлу) мовчки ігнорується і повідомляється час UTC. Наприклад, це повідомляє про неправильний час:
TZ="America/New York" date ### WRONG ###
Єдина специфікація UNIX, версія 3, відома як SUSv3 або POSIX-2001, зазначає, що для портативності символьна рядок, що ідентифікує опис часового поясу, повинна починатися з символу двокрапки. Таким чином, ми також можемо написати:
TZ=":America/New_York" date
TZ=":America/Los_Angeles" date
Як альтернативний метод специфікації часових поясів з використанням імені шляху до файлу опису, SUSv3 описує модель POSIX. У цьому форматі рядок визначається як:
std offset [dst[offset][,start-date[/time],end-date[/time]]]
де stdстандартна назва компонента і dstє літній час. Кожне ім’я складається з трьох і більше символів. offsetПозитивно для часових поясів до захід від меридіана і негативне для тих до схід від меридіана. Зсув додається до місцевого часу, щоб отримати UTC (раніше відомий як GMT). startІ endполя часу вказують , коли відбуваються стандарт / денного світла переходи.
Наприклад, у Східних Штатах стандартний час на 5 годин раніше, ніж UTC, і ми можемо вказати EST5EDTзамість цього America/New_York. Ці альтернативи не завжди визнаються, особливо для зон поза межами США і їх найкраще уникати.
HP-UX (UNIX), сумісний з SUSv3, використовує текстові правила /usr/lib/tztabта назви POSIX, такі як EST5EDT, CST6CDT, MST7MDT, PST8PDT. Цей файл містить усі історичні правила для кожного часового поясу, схожі на базу даних Олсона.
Примітка: Ви повинні бути в змозі знайти всі часові пояси, перевіривши наступний каталог: /usr/share/zoneinfo.