Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Получение текущего времени


Автор: KAMIKAZE 11.3.2010, 02:06
Доброго времени суток, 

Честно говоря давно не программировал на делфи, поэтому наверно и возник данный вопрос, а именно:
как получить текущее время независимо от региональных настроек в 24-часовом формате?
Например, если у вас винда на английском, то вместо 21:00:00 будет скажем 9:00 PM, а на выходе мы должны получить 21:00:00 и еще учитывая GMT.
 smile 

Автор: Akella 11.3.2010, 02:21
Цитата(KAMIKAZE @  11.3.2010,  02:06 Найти цитируемый пост)
как получить текущее время независимо от региональных настроек в 24-часовом формате?

есть функция now
Как тебе надо, так и приводи дату/время к любому формату.
DateToStr()
FormatDateTime()
И т.д.
Цитата(KAMIKAZE @  11.3.2010,  02:06 Найти цитируемый пост)
Например, если у вас винда на английском, то вместо 21:00:00 будет скажем 9:00 PM,

ГДЕ будет? Уточняй.

Добавлено через 29 секунд
Цитата(KAMIKAZE @  11.3.2010,  02:06 Найти цитируемый пост)
на выходе мы должны получить 21:00:00

Почитай про FormatDateTime()

Добавлено через 2 минуты и 59 секунд
http://faqs.org.ru/progr/pascal/del_tool2.htm

Добавлено через 4 минуты и 14 секунд
Показываем дату в виде "21.01.2010"
Код

ShowMessage(FormatDateTime('dd.mm.yyyy', Date));


Добавлено через 5 минут и 5 секунд
Время 21:00:00
Код

ShowMessage(FormatDateTime('hh:nn:ss', Time));

Автор: KAMIKAZE 11.3.2010, 23:13
Да я пытался вот так: 

Код

SysTime:SYSTEMTIME;
GetLocalTime(SysTime);


видимо полез в дебри) 
А тут все просто оказывается smile, только наверно 
Код

ShowMessage(FormatDateTime('hh:mm:ss', Time));  // вместо "nn" - "mm" хотя работает одинаково)  


Спасибо smile 

Автор: Akella 12.3.2010, 09:54
Нет. mm - это месяцы, а nn - это минуты. А zzz это миллисекунды.

Автор: KAMIKAZE 12.3.2010, 12:27
Странно...

http://rghost.ru/1147654.view

Автор: Mikel 12.3.2010, 14:02
MM месяцы, mm- минуты

Автор: KAMIKAZE 12.3.2010, 22:59
Именно так  smile 

Автор: Akella 13.3.2010, 14:57
Цитата(Mikel @  12.3.2010,  14:02 Найти цитируемый пост)
MM месяцы, mm- минуты

да вы хоть бы справку почитали, а? Или клавиша F1 выламана?

Добавлено через 25 секунд
Аааа, я понял. Господа не читатели. Господа писатели smile

Добавлено через 3 минуты и 4 секунды
Ну ладно, раз вам лень, то выложу сюда.
Цитата

mm   Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.   
nn   Displays the minute with a leading zero (00-59).   

Так понятнее?


Цитата(Mikel @  12.3.2010,  14:02 Найти цитируемый пост)
MM месяцы, mm- минуты 

Видите ли, Delphi регистронезависимый язык программирования. И там пофиг, хоть MM, хоть mm. Это так тоже для правки smile

Добавлено через 4 минуты и 33 секунды
Цитата(KAMIKAZE @ 12.3.2010,  12:27)
Странно...

http://rghost.ru/1147654.view

И ещё, я вот не пойму, чего ты полез в региональные настройки вЕнды?

Автор: KAMIKAZE 13.3.2010, 15:18
Полез в настройки потому что там написано что значит 'm', 'n', и т.д.  smile  
В общем спс разобрался.

Автор: Akella 13.3.2010, 15:21
Т.е. официальная справка это фуфло, да?

Автор: KAMIKAZE 13.3.2010, 16:46
Да нет, просто я на яве ща пишу и очень часто нужно конвертировать дату и там 'MM' и 'mm' разные вещи, причем независимо какая была перед ними последовательность, я об этом предложении- "If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed." Профтыкал я его. smile 

Автор: Mikel 13.3.2010, 20:42
Господа читатели, перейдите от теории к практике ) Что будет? )

Код

DateTimeToString(s,'hh:mm:ss',now);
edit1.text:=s;

 smile 

Но в хелпе написано правильно  smile 

Автор: Akella 13.3.2010, 21:57
А что будет в Edit1?

Код

procedure TForm7.Button1Click(Sender: TObject);
Var
 s: string;
begin

  DateTimeToString(s,'dd:nn:yyy hh:mm:ss', now);
  edit1.text := s;
end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)