User manual

683
mikoPascal PRO for dsPIC30/33 and PIC24
MikroElektronika
Library Example
Demonstration of Time library routines usage for time calculations in UNIX time format.
Copy Code To Clipboard
program Time_Demo;
{*
* simple time structure
*}
type TimeStruct = record
ss : byte ; // seconds
mn : byte ; // minutes
hh : byte ; // hours
md : byte ; // day in month, from 1 to 31
wd : byte ; // day in week, monday=0, tuesday=1, .... sunday=6
mo : byte ; // month number, from 1 to 12 (and not from 0 to 11 as with unix C
time !)
yy : word ; // year Y2K compliant, from 1892 to 2038
end;
var ts1, ts2 : TimeStruct;
buf : array[256] of byte ;
epoch, diff : longint ;
begin
ts1.ss := 0 ;
ts1.mn := 7 ;
ts1.hh := 17 ;
ts1.md := 23 ;
ts1.mo := 5 ;
ts1.yy := 2006 ;
{*
* what is the epoch of the date in ts ?
*}
epoch := Time_dateToEpoch(@ts1) ; // epoch = 1148404020
{*
* what date is epoch 1234567890 ?
*}
epoch := 1234567890 ;
Time_epochToDate(epoch, @ts2) ; // ts2.ss := 30 ;
// ts2.mn := 31 ;
// ts2.hh := 23 ;
// ts2.md := 13 ;
// ts2.wd := 4 ;
// ts2.mo := 2 ;
// ts2.yy := 2009 ;
{*
* how much seconds between this two dates ?
*}
diff := Time_dateDiff(@ts1, @ts2) ; // diff = 86163870
end.