Agon
31-05-2007 23:58 Как измерять время
Всетаки большество людей, счастливые, живут, даже не подозревая, какими сложными могут оказаться совершенно тривиальные вещи. К примеру измерение времени. Что может быть проще? Да, сама по себе, функция, позволяющая расчитать, на какой день недели придется третье сентября дветысячипятнадцатого года не такая уж и простая, но, к счастью, она есть уже готовая почти во всех языках. Это просто. Проблемы начинаются, если вы пытаетесь расчитывать локальное время пользователя, имея только время сервера и данные о часовых поясах. И задачка, сказать сколько времени будет в Мельбурне в пятницу тринадцатого, если в Лос-Анжелесе будет два часа по полудни, может оказаться крепким орешком. Сразу же встает вопрос, переходит ли пользователь (и сервер!) с зимнего времени на летнее, и как он это делает. Сюрприз может быть в том, что вполне официальлно, раз в год один час повторяется дважды. Т.е. два разных таймстампа при конвертации из UTC возвращают одинаковое значение. А ровно через пол года вы рискуете столкнуться с таймстампом, который не имеет значения вовсе. И вообще, столько всего интересного можно узнать в процессе написания такого скрипта! К примеру, знаете ли вы, что в день, когда Европа переводит часы назад, Австралия переводит их вперед? И, соответсвенно, наоборот. А теперь скажите, какие еще страны делают так-же? За время отладки можно существенно расширить свои познания о географии, особенно если в школе вам географию преподавал учитель физкультуры. Сложное это занятие, измерение времени.
Группы: [ Ай-Ти ] [ Работа ]
Закрыть