
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.21] |
![]() |
|
Сообщ.
#1
,
|
|
|
Когда пытаюсь выполнить такую команду strtodatetime('12.04.2005 21:12:56');
То появляется ошибка '12.04.2005 21:12:56' is not a valid date and time. При этом у меня в операционной системе в региональных настройках стоят американские стандарты. Поэтому и ошибка, так как у них правильно будет 12/04/2005 и т.д. Как мне тогда преобразовывать строку в дату, если вдруг пользователь изменит в ОС региональные стандарты? Можно ли как то преобразовать формат даты? |
Сообщ.
#2
,
|
|
|
Цитата SkyLight @ Можно ли как то преобразовать формат даты? Ну, только заменой определенных символов. А что дата у тебя в проге хранится в текстовом виде? Лучше ее хранить как целое число. Если не нужно учитывать время, то это просто операция округления значения типа TDateTime. |
![]() |
Сообщ.
#3
,
|
|
![]() ![]() function FormatDateTime(const Format: string; DateTime: TDateTime): string; overload; function FormatDateTime(const Format: string; DateTime: TDateTime; const FormatSettings: TFormatSettings): string; |
![]() |
Сообщ.
#4
,
|
|
Scorpyему наоборот нужно..
SkyLight либо как Майк говорит, либо временно менять глобальные переменные, определяющие фомат даты. ![]() ![]() begin ShortDateFormat := 'd"."MM"."yyyy'; DateSeparator := '.'; TimeSeparator := ':'; ShowMessage(DateToStr(StrToDate('12.04.2005 21:12:56'))); end; |
![]() |
Сообщ.
#5
,
|
|
В общем случае задача тяжело решима, см.: РАБОТА С ДАТАМИ И ВРЕМЕНЕМ
|