Влияние ShortTimeFormat на TimeToStr

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Ответить
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Влияние ShortTimeFormat на TimeToStr

Сообщение Padre_Mortius »

Дописывая один из своих проектов натолкнулся на оригинальное влияние функции ShortTimeFormat на функцию TimeToStr

Код: Выделить всё

var
  myDate : TDateTime;
  formattedDate : string;
begin
  myDate := StrToTime('15:06:23.456');
  ShortTimeFormat := 'hh-mm';
  DateTimeToString(formattedDate, 't', myDate);
  ShowMessage(formattedDate);
end;

В этом случае все отработает как положено, но если использовать TimeToStr, который согласно документации использует ShortTimeFormat для изменения формата времени

Код: Выделить всё

var
  myDate : TDateTime;
  formattedDate : string;
begin
  myDate := StrToTime('15:06:23.456');
  ShortTimeFormat := 'hh-mm';
  ShowMessage(TimeToStr(myDate));
end;

то результатом будет

Код: Выделить всё

15:06:23

т.е. переопределение формата времени никак не повлияло на результат. Это баг или фича?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

Функция использует не ShortDateFormat, а LongDateFormat. После исправления в 2007 г. документацию так и не обновили. Доложил по инстанции: http://bugs.freepascal.org/view.php?id=19592
Ответить