DateTimeGen (Delphi)
Description
This examples demonstrates the use of DateUtils routines in comparing two DateTime variables.
Code
var
DateTime1, DateTime2: TDateTime;
year, month, day, hour, minute, second, millisecond: Word;
procedure TMainForm.btCompareClick(Sender: TObject);
begin
{ Compare the two dates }
Memo2.Lines.Clear;
if WithinPastDays(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 days');
if WithinPastWeeks(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 weeks');
if WithinPastMonths(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 months');
if WithinPastYears(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 years');
if WithinPastHours(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 hours');
if WithinPastMinutes(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 minutes');
if WithinPastSeconds(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 seconds');
if WithinPastMilliSeconds(DateTime1, DateTime2, 10) then
Memo2.Lines.Add('The difference between the two dates is less than 10 milliseconds');
end;
procedure TMainForm.btGetDateClick(Sender: TObject);
begin
{ Get the first DateTime variable from the edit-boxes }
year := StrToInt(edYear.Text);
month := StrToInt(edMonth.Text);
day := StrToInt(edDay.Text);
hour := StrToInt(edHour.Text);
minute := StrToInt(edMinute.Text);
second := StrToInt(edSecond.Text);
millisecond := StrToInt(edMilliSecond.Text);
DateTime1 := EncodeDateTime(year,month,day,hour,minute,second,millisecond);
edDateTime1.Text := DateTimeToStr(DateTime1);
end;
procedure TMainForm.DateTimePicker1Change(Sender: TObject);
begin
{ Get the second DateTime variable from the DateTimePicker }
DateTime2 := DateTimePicker1.DateTime;
DecodeDateTime(DateTime2,year,month,day,hour,minute,second,millisecond);
Memo1.Lines.Clear;
edDateTime2.Text := DateTimeToStr(DateTime2);
if IsToday(DateTime2) then
Memo1.Lines.Add('The selected date is today.');
if IsSameDay(DateTime2, Yesterday) then
Memo1.Lines.Add('The selected day is yesterday');
if IsInLeapYear(DateTime2) then
Memo1.Lines.Add('The selected date is in a leap year')
else
Memo1.Lines.Add('The selected date is not in a leap year');
Memo1.Lines.Add('Days in a month: '+IntToStr(DaysInAMonth(year,month)));
Memo1.Lines.Add('Days in the current month: '+
IntToStr(DaysInMonth(DateTime2)));
Memo1.Lines.Add('Days in a year: '+IntToStr(DaysInYear(DateTime2)));
Memo1.Lines.Add('Days in the current year: '+
IntToStr(DaysInAYear(year)));
Memo1.Lines.Add('Weeks in a year: '+IntToStr(WeeksInYear(DateTime2)));
Memo1.Lines.Add('Weeks in the current year: '+
IntToStr(WeeksInAYear(year)));
end;
Uses
- System.DateUtils.DaysInAMonth ( fr | de | ja )
- System.DateUtils.DaysInAYear ( fr | de | ja )
- System.DateUtils.DaysInMonth ( fr | de | ja )
- System.DateUtils.DaysInYear ( fr | de | ja )
- System.DateUtils.DecodeDateTime ( fr | de | ja )
- System.DateUtils.EncodeDateTime ( fr | de | ja )
- System.DateUtils.IsInLeapYear ( fr | de | ja )
- System.DateUtils.IsSameDay ( fr | de | ja )
- System.DateUtils.IsToday ( fr | de | ja )
- System.DateUtils.WeeksInAYear ( fr | de | ja )
- System.DateUtils.WeeksInYear ( fr | de | ja )
- System.DateUtils.WithinPastDays ( fr | de | ja )
- System.DateUtils.WithinPastHours ( fr | de | ja )
- System.DateUtils.WithinPastMilliSeconds ( fr | de | ja )
- System.DateUtils.WithinPastMinutes ( fr | de | ja )
- System.DateUtils.WithinPastMonths ( fr | de | ja )
- System.DateUtils.WithinPastSeconds ( fr | de | ja )
- System.DateUtils.WithinPastWeeks ( fr | de | ja )
- System.DateUtils.WithinPastYears ( fr | de | ja )