Пусть кто-нибудь из сетевых писталей (
Леня Каганов, например) напишет рассказ на тему "ошибка 10000 года". На дворе 9999 год, в моде одежда в стиле ретро а ля 30-е годы 51-го века, у всех уже есть персональные роботы и видеотелефоны, но флаеры так и не стали посведневной реальностью, а полеты в космос дальше Луны по-преженему считаются
(
Read more... )
Comments 5
А вот софт, который хранит дату в так называемом "юниксовом формате" (т.е. 32-битное знаковое целое, соответствующее количеству секунд прошедших с 1 января 1970) обломится с началом 2038 года, до которого мы можем даже дожить.
Кстати, не смотя на кажущуюся нелепость формата, он весьма популярен и является практически стандартом для 32-битных C приложений. Но, правда, надеюсь что 2038 32-битного софта не останется.
http://www.answers.com/topic/unix-time
Reply
Reply
Так что в данном случае дело точно не в количестве символов, отведенных под год.
Что касается баз данных, к примеру, MS SQL Server не умеет хранить одну только дату, без времени дня. Так что в 8 байт (или 4 байта в случае smalldatetime - в котором тоже и дата и время дня) он упаковывает и то, и другое. Хранить дату посимвольно было бы слишком неэффективно.
Oracle и DB2 используют для хранения года по два байта.
http://www.devx.com/dbzone/Article/28713/0/page/2
А вот PostgreSQL в 8-байтовый дато-временной тип умудрился запихать даты аж до 1465001 года.
http://www.postgresql.org/docs/7.3/interactive/datatype-datetime.html
В общем, посимвольно дату никто, вроде, не хранит.
Reply
Reply
Leave a comment