DosGetDateTime (OS/2 1.x)

This call gets the current date and time maintained by the operating system.

Syntax
DosGetDateTime (DateTime)

Parameters

 * DateTime (PDATETIME) - output : Address of the date and time structure.

Return Code

 * rc (USHORT) - return:Return code description is:
 * 0 NO_ERROR

Remarks
The dayofweek value is based on Sunday equal to zero. The value of timezone is the difference in minutes between the current time zone and UTC. This number is positive if it is earlier than UTC and negative if it is later than UTC. For Eastern Standard Time, this value is 300 (5 hours earlier than UTC).

If the application is executing in the OS/2 environment, it is more efficient to obtain these variables by calling DosGetInfoSeg instead of this function. However, applications written to the family API cannot depend on the availability of DosGetInfoSeg.

C
 typedef struct _DATETIME { /* date */ UCHAR  hours;            /* current hour */ UCHAR  minutes;          /* current minute */ UCHAR  seconds;          /* current second */ UCHAR  hundredths;       /* current hundredths of a second */ UCHAR  day;              /* current day */ UCHAR  month;            /* current month */ USHORT year;             /* current year */ SHORT  timezone;         /* minutes of time west of UTC */ UCHAR  weekday;          /* current day of week */ } DATETIME;


 * 1) define INCL_DOSDATETIME

USHORT   rc = DosGetDateTime(DateTime); PDATETIME DateTime;     /* Address of date/time structure (returned) */ USHORT   rc;            /* return code */  This example gets the current time and date. 
 * 1) define INCL_DOSDATETIME

DATETIME DateBuffer; USHORT  rc;

rc = DosGetDateTime(&DateBuffer);       /* Date/Time structure */ 

MASM
 DATETIME struc date_hours     db  ? ;current hour date_minutes   db  ? ;current minute date_seconds   db  ? ;current second date_hundredths db ? ;current hundredths of a second date_day       db  ? ;current day date_month     db  ? ;current month date_year      dw  ? ;current year date_timezone  dw  ? ;minutes of time west of UTC date_weekday   db  ? ;current day of week DATETIME ends

EXTRN DosGetDateTime:FAR INCL_DOSDATETIME   EQU 1

PUSH@ OTHER   DateTime      ;Date/time structure (returned) CALL  DosGetDateTime

Returns WORD 

Example
The following example obtains and prints date and time information. It then changes the system date to 5/10/1987 and prints the updated information. 
 * 1) define INCL_DOSDATETIME
 * 2) include 

main { DATETIME   DateTime;       /* Structure to hold date/time info. */ USHORT     rc;

rc = DosGetDateTime(&DateTime);    /* Address of d/t structure */ printf("Today is %d-%d-%d; the time is %d:%d\n", DateTime.month,        DateTime.day, DateTime.year, DateTime.hours, DateTime.minutes); DateTime.day = 10; DateTime.month = 5; DateTime.year = 1987; printf("The new date is %d-%d-%d; the time is %d:%d\n", DateTime.month,        DateTime.day, DateTime.year, DateTime.hours, DateTime.minutes); rc = DosSetDateTime(&DateTime);   /* Address of d/t structure */ printf("rc is %d\n", rc); } 

Related Functions

 * DosSetDateTime