Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
ВнизПочему функция возвращает фалсе Найти похожие ветки
← →
KyRo (2006-03-21 12:02) [0]
if TryStrToDate(Trans[6],DT)
then
ERR_Table.FieldByName("DATE_TR").Value:=Trans[6];
Подскажите почему Фалсе если число 12.22.04 и нормально все когда
04.01.05 ?
Формат даті в базу вводится именно такой как и надо
← →
Плохиш © (2006-03-21 12:05) [1]Локальные настройки короткой даты "DD.MM.YY"
← →
Сергей М. © (2006-03-21 12:05) [2]
> почему Фалсе
Ну наверно потому что (цитата из справки)
S must consist of two or three numbers, separated by the character defined by the DateSeparator global variable or its TFormatSettings equivalent
← →
Reindeer Moss Eater © (2006-03-21 12:06) [3]ShowMessage(ShortDateFormat);
← →
KyRo (2006-03-21 12:12) [4]Предлогаете перевести в длинный формат ??
Потому как некоторы даты в этом формате проходят , а некоторые нет ??
← →
Сергей М. © (2006-03-21 12:17) [5]
> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ?
И какие же "нет" ?
← →
Reindeer Moss Eater © (2006-03-21 12:19) [6]>Предлогаете перевести в длинный формат ??
Лично я предлагаю не ограничиваться полумерами, я предлагаю реформу календаря.
← →
Плохиш © (2006-03-21 12:20) [7]
> KyRo (21.03.06 12:12) [4]
> Предлогаете перевести в длинный формат ??
Это ваша программа
> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ??
Чушь
← →
Рамиль © (2006-03-21 12:27) [8]
> Потому как некоторы даты в этом формате проходят , а некоторые
> нет ??
Да не некоторые.
04.01.05 интерпретируется как 4-ое января
а
12.22.04 как 12-ое 22-ого месяца.
Первый же ответ
> Плохиш © (21.03.06 12:05) [1]
был исчерпывающим, что тебе еще надо?
← →
KyRo (2006-03-21 12:30) [9]Ну я вообщем то понял из за чего .
Подскажите тогда что лучше сделать если у меня половина дат в одном формате , а другая половина в другом как проверить в каком формате дата ??
← →
Плохиш © (2006-03-21 12:34) [10]
> KyRo (21.03.06 12:30) [9]
> Ну я вообщем то понял из за чего .
> Подскажите тогда что лучше сделать если у меня половина
> дат в одном формате , а другая половина в другом как проверить
> в каком формате дата ??
Это надо спросить у того, кто тебе эти данные поставляет.
← →
Sergey13 © (2006-03-21 12:34) [11]2[9] KyRo (21.03.06 12:30)
Я тебе давно говорил, что лучше перевести поле в формат даты и не маяться с форматированием строки.
Иначе, чувствую, недалек тот день, когда ты спросишь - "а как мне отсеять записи по диапазону дат?".
← →
Reindeer Moss Eater © (2006-03-21 12:34) [12]>как проверить в каком формате дата ??
Тебе про это функция рассказывает TryStrToDate.
Надо принимать её результат как есть, а не чесать репу почему она тебе фальш возвратила.
Раз возвратила значит аргументом была не дата.
← →
Reindeer Moss Eater © (2006-03-21 12:43) [13]если у меня половина дат в одном формате , а другая половина в другом как проверить в каком формате дата ??
06.11.06
11.07.06
это 6-nov-2006 и 11-jul-2006?
или может это 11 июня 2006 и 11 июля 2006?
нет, а может это 6 ноября и 7 ноября?
← →
KyRo (2006-03-21 12:47) [14]
> Sergey13 ©
У меня и так поле формата дата.
На сервере дата в нашем формате покрайней мере отображается в нашем.
Даты которые поставляются , поставляются разными устройствами и переконфигурировать их не реально , а насчет принимать как есть то я не могу иначе я не смогу эту запись потом найти в базе !! Мне надо что бы у нее обязательно была дата.
Если я буду переводить дату в случае фалса функцией
FormatDateTime("mm.dd.yyyy", fsDateTimePicker3.date);
то у меня может быть вариант когда вообще вместа даты прийдет
строка в виде "12.sZA.23" и если на такую строку нарветса функция то будет ошибка.
Мне надо как то тогда проверить в каком формате эта дата
как это можно сделать ?
← →
Reindeer Moss Eater © (2006-03-21 12:51) [15]Да никак, если ты еще не понял.
"01.02.03"
Это может быть и первое февраля и второе января.
При обеих форматах системной даны dd.mm.yy и mm.dd.yy
эта строка преобразуется в валидную дату.
← →
Рамиль © (2006-03-21 12:53) [16]При такой постановке задачи НЕЛЬЗЯ опираться на результат TryStrToDate.
Надо знать, от какого устройства данные и преобразовывать в соответсвии с ним. Проверить в каком формате дата нельзя, потому что, например 01.01.06 может быть одновременно и в формате DD.MM.YY и в формате MM.DD.YY. Неужели не понятно?!.
← →
balepa © (2006-03-21 12:56) [17]Если знаеш на каких устройствах какие форматы можно и отсеять по устройствам (если конечно в базе есть названия устройств)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c