![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование даты! [D6, dBase, FoxPro]
Roki © (2002-12-17 09:43:00)Мастера, есть проблемка - в dBase хранятся даты, там тип поля -Date длиной 8 символов, т.е. дату можна записать только - dd/mm/yy. Но после перехода проги с FoxPro на Delphi даты стали отображатся некоректно - вместо 19ХХ теперь 20ХХ. Как поступить - перейти на тип поля String или написать конвертор даты(от FoxPro пока отказаться немогу очень много на нем данных)? Может есть готовые компоненты или функции для этой проблемки?
Roki (2002-12-17 10:49:00) [1]2 Anatoly Podgoretsky ©
Действительно так и есть... Спасибо за помощь... Буду записывать теперь год 4 цифры...
Anatoly Podgoretsky (2002-12-17 10:11:00) [2]Да и не прошло и полгода, как народ забыл уроки 2000 года и продолжает писать две цифры вместо четырех.
Roki (17.12.02 09:43)
Насчет того, что там хранятся как dd/mm/yy ты полностью неправ, даты там хранятся в системно независимом вормате и поддержанный диапазон от 1.01.0001 до 31.12.9999 года, если уж очень тебя интересует внутреннее хранение дат, то надо читать спецификации, а не делать предположения, в крайнем случае можно воспользоваться хакерскими методами, посмотреть файлик с помощью шестнадцатиричного редактора.
Prooksius (2002-12-17 09:59:00) [3]2 Roki (17.12.02 09:54)
Как я понял, у тебя поле типа Date - строковое (состомт из 8 символов) Если я не прав - сорри, я не работал с dBase. Просто помочь хотел...
Вырезаешь из этой строки от начала до yy, добавляешь "19", и добавляешь остаток yy.
Неужели так сложно?
Roki (2002-12-17 09:56:00) [4]2 Prooksius ©
А за PD Sybase огромное спасибо!!!
Roki (2002-12-17 09:54:00) [5]2 Prooksius ©
Читай вопрос нимательнее...
Я написал что есть поле типа Date. Понятно что нужно делать вручную, я же и спрашиваю что может есть уже готовые компоненты или функции кем-то написаные... Зачем по 100 раз писать одно и тоже если есть готовое...
stone (2002-12-17 09:54:00) [6]Вот она - проблема 2000 года :-))
Prooksius (2002-12-17 09:50:00) [7]А что в dBase нет поля типа Date ?
Создай такое поле, перебрось данные в него и удали поле типа стринг. Тебе придется добавлять столетие вручную (из dd/mm/yy делать dd/mm/yyyy).
Как ты думаешь, откуда программа знает, какое столетие ты имеешь в виду, если пишешь 11/12/47 ?