[fpc-pascal]date handling routines
    James_Wilson at i2.com 
    James_Wilson at i2.com
       
    Thu Aug 30 20:58:54 CEST 2001
    
    
  
> Wondering if there was already a unit available that could
> tell me the day of week a certain date was.  An example perhaps
> would be:
Try passing this function a packed longint and it should return the 
weekday in a 0..6 sequence, with 0 being Sunday. Note I didn't compile 
this so it might need to be tweaked.  :-)
Jim
Function DayOfWeek (DateToCheck : longint) : byte
const
  FileDays : array[1..12] of byte = (6,2,2,5,0,3,5,1,4,6,2,4);
var
  DateAndTime : datetime;
  AdjustedYear : integer;
begin
  unpacktime (DateToCheck,DateAndTime);
  //  leap year adjustment
  if DateAndTime.month > 2 then AdjustedYear := DateAndTime.year else 
AdjustedYear := pred (DateAndTime.year);
  WeekDay := ((DateAndTime.day + (AdjustedYear div 4) - (AdjustedYear div 
100) + (AdjustedYear div 400) + DateAndTime.year + FileDays 
[DateAndTime.month]) mod 7);
end;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20010830/b9ddbbae/attachment.html>
    
    
More information about the fpc-pascal
mailing list