46 lines
967 B
C
46 lines
967 B
C
#ifndef _MYC_TIME_H_
|
|
#define _MYC_TIME_H_
|
|
|
|
#define MYC_TIME_BASE 20010101
|
|
|
|
int mycNow(void);
|
|
/*
|
|
return seconds since a Monday specified by MYC_TIME_BASE
|
|
mycNow() % (24*3600) is always 0 at 00:00 even in daylight saving time
|
|
*/
|
|
|
|
int mycMsecSince(int since);
|
|
/*
|
|
mycMsecSince(0) return milliseconds since midnight
|
|
mycMsecSince(x) return milliseconds since x (x is time since midnight)
|
|
*/
|
|
|
|
int mycDate(int time);
|
|
/*
|
|
return year * 10000 + month * 100 + day_of_month of a time obtained by mycNow
|
|
year > 1900
|
|
1 <= month <= 12
|
|
1 <= day_of_month <= 31
|
|
*/
|
|
|
|
int mycTime(int date);
|
|
/*
|
|
does the inverse of MycDate. Chooses the last possible date not later than today,
|
|
if day, month or year is undefined (zero)
|
|
*/
|
|
|
|
time_t mycUnixTime(int myTime);
|
|
|
|
/* the following subroutines are to be called from FORTRAN
|
|
|
|
integer function myc_now()
|
|
real function myc_date(time)
|
|
integer function myc_time(date)
|
|
|
|
integer time
|
|
real date
|
|
|
|
*/
|
|
|
|
#endif /* _MYC_TIME_H_ */
|