ext_189983 ([identity profile] sopla.livejournal.com) wrote in [community profile] useless_faq2006-06-22 10:59 pm

(no subject)

почему windows ограничивает временые рамки в часах(1980-2099)?

Re: Reply to your comment...

[identity profile] mivlad.livejournal.com 2006-06-22 07:26 pm (UTC)(link)
Ну, работать-то оно действительно без особых проблем должно, но некоторые программы наверняка неверную дату будут показывать. Ибо Проблема 2038 дамоклово висит над человечеством.

А в Windows пределы поставлены, потому что должны же они где-то быть.

Re: Reply to your comment...

[identity profile] f2065.livejournal.com 2006-06-22 09:12 pm (UTC)(link)
в винде вобщем-то проблемы 2038 не будет ;)
она везде оперирует либо int64 с 0.1мсек от 1601 года (FILETIME),
либо явным указанием года-месяца-дня-часа-мин-сек-мсек (SYSTEMTIME)

кстати, у MSDOS будут проблемы в 2107году. Там год хранится в 7 битах, смещение от 1980г. И в MSDN предупреждают: The MS-DOS date format can represent only dates between 1/1/1980 and 12/31/2107.

Re: Reply to your comment...

[identity profile] mivlad.livejournal.com 2006-06-22 09:21 pm (UTC)(link)
И весь софт под Windows пользуется описанным представлением дат?

Re: Reply to your comment...

[identity profile] f2065.livejournal.com 2006-06-22 09:38 pm (UTC)(link)
FILETIME и SYSTEMTIME ? Практически весь. Ибо это заявлено в MSDN, и оно выдаётся/принимается WinAPI. Какой-то другой формат может быть только внутри самой проги для её внутренних нужд.

MSDOS-формат используется только в ДОСовых прогах (не путать с консольными), однако к тому времени MSDOS из винды наверняка выкинут.