Помощь - Поиск - Пользователи - Календарь
Полная версия: Функции даты и времени
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Free Pascal, Pascal ABC и другие
klem4
Пытаюсь выцепить например текущий час, почему-то постоянно выдает 0

uses DateUtils {, SysUtils };
begin
writeln(HourOf(Today)); { HourOf(Date) }
end.
volvo
blink.gif Ты что, час в дате искать собрался? smile.gif

Вообще-то во времени надо бы:
  writeln(HourOf(Now));

klem4
blink.gif

Цитата
function Today: TDateTime;


Цитата
function HourOf(

const AValue: TDateTime

):Word;


Я вот из таких соображений исходил ...

volvo
А вот из таких не пробовал исходить:

Цитата(rtl.pdf)
4.4.125 Today
Synopsis: Return the current date
Declaration: function Today : TDateTime
Visibility: default
Description: Today is an alias for the Date (1364) function in the sysutils (1322) unit.
?

Так что это ТОЛЬКО дата, а никак не время...
klem4
С слона то я и не приметил)) СПасибо
klem4
Подскажите процедуру или какую глобальную переменную надо изменить, чтобы время выводилось в соответствии LongTimeFormat

Сейчас при выводе времени на экран делю делаю так:
FormatDateTime(LongTimeFormat, Now)

Уверен что можно по другому, как в Делфи например можно было менять DateSeparator и подобные вещи.
volvo
Я не понял, а что, собственно, ты хочешь, чтобы было? Чтобы при WriteLn(Now) сразу выводилось время в длинном формате? Или что?
klem4
Цитата
Чтобы при WriteLn(Now) сразу выводилось время в длинном формате


yes2.gif

Writeln(TimeToStr(Now));
volvo
Время печатается в формате, задаваемом ShortTimeFormat... Следовательно, меняй ShortTimeFormat на тот, который нужен... То есть, тебе надо занести в ShortTimeFormat ту маску, которая обычно соответствует длинному формату:

  shorttimeformat := 'hh:mm:ss';
writeln(timetostr(now));


или еще проще:

  shorttimeformat := longtimeformat; // 'hh:mm:ss';
writeln(timetostr(now));

klem4
Да какраз то что я и пытался найти, спасибо.
compiler
а как найти разницу между переменной датой и сегоднейшй?
мой текст
Uses dateutils;
begin
writeln('diff = ', daysbetween(strtodate('12/02/2007'), strtodate(DateOf(Today))));
end.


заранее благодарен.

Добавлено через 2 мин.
P.S. или этот вопрос лучше в задачи...
volvo
Цитата
мой текст
mad.gif ЭТО - не ТВОЙ текст... Вот напиши СВОЙ, потом будет разговаривать!
compiler
Цитата(volvo @ 23.02.2007 14:29) *

mad.gif ЭТО - не ТВОЙ текст...

как щаблон я взял текст нахождения разници в днях (твой) и нахождения сегоднешней даты(klem4)

Добавлено через 6 мин.
если б я использывал что то другое кто то б сказал было уже:mad: научись пользоваться поиском ...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.