Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

Проблема с отображением даты   Найти похожие ветки 

 
shnurok   (2003-12-17 16:11) [0]

Уважаемые мастера, помогите!
Возникла такая проблема - есть таблицы Paradox, а там поле Date.
Даты есть как прошлого века(до 2000) так и этого.
Так вот, в приложении пытаюсь сделать отображение года в четыре цифры(способы использовала : задание для поля DisplayFormat dd.mm.yyyy, меняла региональные настройки на дд.мм.гггг) - тогда даты прошлого века превращаются в "будущие", типа 2098.
Пробовала настроить сам BDE - картина такая: в приложении даты все равно остаются в формате дд.мм.гг - т.е. местные региональные, а если открыть таблицу в database Desktop - там нормально выглядит все, что до 2000г., все что позднее - опять только две цифры в году.
Посоветуте, что тут можно сделать? Или придется насильно переписать все даты в правильном формате?
главное, что из-за этой ерунды, неверно производится сортировка.
Ведь в самой таблице дата хранится верная, например, DataBase WorkShop все показывает правильно.


 
Anatoly Podgoretsky ©   (2003-12-17 16:17) [1]

Переписать, но что то меня смущает, неужели Парадокс может хранить даты с двумя цифрами в годе, не верю.


 
Johnmen ©   (2003-12-17 16:23) [2]

Не могёт такого быть...:)
Как видно, что "превращаются" ?


 
Vint ©   (2003-12-17 16:32) [3]

а не пробовал поменять FOURDIGITYEAR на true?


 
Shnurok   (2003-12-17 16:33) [4]

Вот-вот... нутром чую, что хранятся то они в нужном формате, но как мне заставить в DBGride отображать год в 4-ре цифры? Никак не получается. Либо 2(тогда есть такие записи 12.12.98 и 12.12.03), либо 4-ре, но все "старые" даты становятся например 12.12.2098. -(


 
Shnurok   (2003-12-17 16:34) [5]

FOURDIGITYEAR уже давно выставлено в true, в самом приложении при этом все равно 2 цифры в году


 
Johnmen ©   (2003-12-17 16:36) [6]

DisplayFormat dd.mm.yyyy достаточно, чтобы показывалось нормально.


 
Shnurok   (2003-12-17 16:39) [7]

DisplayFormat dd.mm.yyyy дает дату из 12.12.98 в 12.12.2098 -(


 
Vint ©   (2003-12-17 16:43) [8]

>Shnurok (17.12.03 16:33) [4]
либо 4-ре, но все "старые" даты становятся например 12.12.2098. -(

попробуй
TwoDigitYearCenturyWindow := скажем 90;


 
Johnmen ©   (2003-12-17 16:43) [9]

Значит в этой записи в этом поле прописана дата 12.12.2098
Видимо, когда заполняли, били 2 знака...


 
Hawk2 ©   (2003-12-17 16:44) [10]

Только что пробовал, таблица Paradox 7.0 правда у меня D5.
Во-первых при заполнении поля типа Date, даже при введении значения типа 10.08.98 после перехода на другую запись (или поле) автоматом дописывается 19, тоесть получается 10.08.1998, а из этого следует что Парадокс хранит дату в формате "dd.mm.yyyy". При этом что интересно, если ввести к примеру 15.08.52, то записывается 15.08.2052, а если 15.08.53, то дописывается 20 - тоесть 15.08.2052.
Во-вторых в Гриде все нормально отображается.


 
Johnmen ©   (2003-12-17 16:46) [11]

>Hawk2 © (17.12.03 16:44)
>При этом что интересно...

Ничего интересного. Идешь в региональные настройки, Даты. Там ответ.


 
Hawk2 ©   (2003-12-17 16:46) [12]

Малость ошибся после 53 записывается 19, например 15.08.53, то получается 15.08.1953, а до этого 20 - 15.08.2052.


 
Shnurok   (2003-12-17 16:48) [13]

Проблема действительно наверное в том, что когда вводили указывали два знака. Но все равно какая-то мистика получается - смотрю таблице в стороннем менеджере баз данных(в том же DataBase WorkShop) ВСЕ даты выглядят нормально.


 
Hawk2 ©   (2003-12-17 16:49) [14]

>Johnmen © (17.12.03 16:46) [11]
А нет там ничего!


 
Johnmen ©   (2003-12-17 16:55) [15]

>Hawk2 © (17.12.03 16:49)

Есть. "При вводе двух цифр года воспринимать их как год между."


 
Hawk2 ©   (2003-12-17 17:00) [16]

>Johnmen © (17.12.03 16:55) [15]
Эта опция не активна, а поля пустые!
Да впрочем это как говорится: "На скорость не влияет", у авторки вопроса всеравно ничего не выходит.


 
Shnurok   (2003-12-17 17:01) [17]

Ага, и вот у меня эти самые региональные настройки воспринимают год введенный сейчас как 12.12.45 как 2045, хотя границы годов стоят с 1930 по 2029 ????
Придется все-таки переписывать значения в базе.


 
mfender ©   (2003-12-17 20:24) [18]


> Anatoly Podgoretsky © (17.12.03 16:17) [1]
> Переписать, но что то меня смущает, неужели Парадокс может
> хранить даты с двумя цифрами в годе, не верю.


Я видел такие таблицы (а может подобные). Там дата в виде string написана. И ее надо парсить.



Страницы: 1 вся ветка

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.021 c
1-49497
serg128
2004-01-03 12:51
2004.01.16
Как закрывать MDI окна по клавише Esc?


3-49386
Patrick
2003-12-22 09:21
2004.01.16
Настройка Oracle.


1-49608
Dimmu Borgir
2004-01-04 14:05
2004.01.16
Форму в компонент


14-49698
Alexandra
2003-12-25 21:53
2004.01.16
Народ подскажите что здесь не так!!!


3-49468
Kirill_S
2003-12-17 16:48
2004.01.16
Работа нескольких пользователей с данными