2015-10-29 4 views
1

Я работаю над программой Delphi 7 для старых. Когда я звонюкак сделать delphi timetostr возвращение военного времени

timetostr(now) 

Я получаю строку времени в 12-часовом формате в комплекте с прицепом «AM» или «PM».

Я просмотрел справочный документ в Delphi 7 и выполнил поиск в Интернете. Результаты были довольно расплывчатыми.

+0

Я не знаю «воинственного времени», но «System.SysUtils.Forma» tDateTime' довольно гибкий. –

+0

Вы также можете использовать [SysUtils.DateTimeToString (результат, 'hh: nn: ss', now)] (http://docwiki.embarcadero.com/Libraries/en/System.SysUtils.DateTimeToString) –

+0

Для бонусной точки это необходимо чтобы преобразовать время до восхода солнца в «О темной сотне» –

ответ

6

Согласно Wikipedia Military Time - это обычные 24-часовые часы.

Чтобы показать это, в Delphi вы можете использовать FormatTime. Чтобы быть точным:

FormatTime('hh:mm:ss', now) 

Если вы хотите миллисекунды, а затем

FormatTime('hh:mm:ss.zzz', now) 
1

Вы можете использовать TFormatSettings-переменные:

var 
    AFormat: TFormatSettings; 
... 
GetLocaleFormatSettings(-1, AFormat); 
AFormat.ShortTimeFormat := 'hh:mm'; 
AStr := TimeToStr(Now, AFormat); 
+0

Возможно, в Delphi 7 –

+0

есть другие свойства в TFormatSettings, возможно, вы должны использовать LongTimeFormat вместо ShortTimeFormat – denzabenza

0

Это будет делать в последних версиях Delphi

FormatDateTime('hh:mm:ss', now) 
Смежные вопросы