2009-08-11 3 views
2

Столбцы, такие как CreatedDate и ModifiedDate, обычно используются в таблицах SQL. Я думаю, что сохранение значения UTC времени поможет удалить зависимость от местоположения сервера, на котором размещено приложение. Благодаря тому, что облачные вычисления приобретают привычку (даже исключая его), приложения могут размещаться в любом часовом поясе и в любой части мира.UTC время в таблицах SQL

Используя значения UTC для таких полей, бизнес-логика всегда может считать поля UTC и конвертировать дату в соответствии с требованиями к локализации.

Является ли мой процесс размышлений правильным? Существуют ли какие-либо недостатки в этом подходе? Легче ли хранить время, специфичное для зоны?

Цените свои мысли!

+0

так в чем ваш вопрос? –

ответ

5

IMHO даже местные приложения должны хранить UTC, если не по другой причине, то по крайней мере правильно обращаться летнее время регулировка времени. Для любого распространения, UTC является обязательным.

Клиент может отображать время локализованного, так как все клиентские платформы поддерживают отображение UTC в качестве местного времени.

3

SQL 2008 имеет тип данных, называемый datetimeoffset, который также может хранить часовой пояс. Это означает, что вы можете получить свой торт и съесть его!

Вам необходимо сохранить версию UTC, потому что в противном случае у вас есть «что было в 2:30 утра?»? когда происходит переход на летнее время. Но с datetimeoffset вы в порядке.

Если у вас есть только, сохраните версию UTC, тогда вам нужно будет подумать, какой часовой пояс ваш клиент, чтобы отобразить его для них. Но тогда, когда происходит переход на летнее время, все их время движется на час, так что вам все еще не повезло.

Интересно, что Митч Пшеница (кто отправил комментарий на ваш вопрос), живет в Перте, который только недавно представил летнее время. Я написал блог об этом: http://msmvps.com/blogs/robfarley/archive/2006/10/25/The-horror-of-daylight-savings-_2800_sorry-Perth_2900_.aspx

Итак, посмотрите, как вы идете. Я определенно рекомендую datetimeoffset, так что вы можете показать, что время было сохранено как 5 вечера в летнее время.

Rob

+0

Вот почему Митч сказал: «Так в чем вопрос?» лол. Он никогда не видел дневных сбережений: D –

Смежные вопросы