madf: (Default)
2014-11-30 05:48 pm

Часові пояси

Я завжди знав що тема часових поясів у програмуванні — це пекельні котли і авгієві конюшні (разом з темою локалізації), тому старався уникати її. Коли знайомі адміни дорікали мені за логи у UTC я казав що Грінвіч рулить (не коньяк) і взагалі у логах які скачуть туди-сюди двічі на рік фіг що знайдеш потім. Плюс там всякі політичні складові — переходити, чи не переходити... Тож уникав я цієї теми довго, поки не стикнувся з податковою службою Грузії. Не вдаючись у подробиці, знадобилось на одному проекті зафігачити кастомні часові пояси для перегляду певної статистики. Ржака в тому, що українські користувачі взагалі не скаржилися на час у UTC (відношення було приблизно таке: „лишь были б желуди, ведь я от них жирею“), російські користувачі трохи скаржились що треба перераховувати локальний час щоб подивитись статистику за добу, а грузини покликали на поміч своїх податківців і категорично відмовились щось там рахувати. Ну в принципі, позиція правильна. Я теж завжди кажу що це задача комп’ютера щось там рахувати — він для того створений був.
Read more... )
madf: (Default)
2007-11-23 03:49 pm
Entry tags:

struct tm и time_t

Вчера столкнулся с интересной особенностью работы mktime. Эта функция преобразовывает "broken-down time structure" в Unix-timestamp. Поле tm_year структуры описывает количество годов прошедшее с 1900 года до указанной даты. А отсчет Unix-epoch идет от 1970 года. Если в поле tm_year указать число меньше 70 на выходе получаем какой-то бред.