Получить текущий месяц как номер в Паскале - PullRequest
0 голосов
/ 31 марта 2011

У меня есть задание, которое включает в себя поиск дней рождения в этом месяце. Я не прошу вас «сделать мою домашнюю работу», но то, что я am спрашиваю, заключается в следующем: есть ли способ получить текущий месяц как число от 1 до 12 в Паскале (в частности, Lazarus Pascal)? Затем я могу взять число и сравнить его с записями в файле.

Спасибо за любую помощь,

Джеймс

Ответы [ 3 ]

1 голос
/ 11 мая 2011

Вы можете использовать этот код:

DecodeDate(Date:TDateTime, Year, Month, Day: word);

Я рекомендую вам проверить единицу dateutils.Он обеспечивает полную поддержку для всех проблем с датой или временем.

1 голос
/ 11 мая 2012

Мэнни прав. Я только что попробовал это в Lazarus, написав эту процедуру:

procedure Dates;
var y, m, d: word;
begin
  DecodeDate(Date, y, m, d);
end;

Дата - это функция в SysUtils (datih.inc), которая возвращает текущую локальную дату. DecodeDate - это процедура, которая принимает TDateTime и возвращает в параметры var календарные значения года. месяц и день. Вам, конечно, нужны все 3, но просто используйте тот, который вам нужен.

1 голос
/ 31 марта 2011

Я не знаю о Lazarus, но большинство реализаций Pascal предоставляют:

procedure GetDate(var Year, Month, Day, DayofWeek: Word); 
...