DosSetDateTime

From EDM2
Revision as of 16:21, 18 March 2019 by Ak120 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

DosSetDateTime sets the current date and time for the system. Although you can set day, month, year and weekday to whatever you want, DosSetDateTime will check if it is a correct combination and will return an error if it is incorrect.

Syntax

DosSetDateTime( pdt )

Parameters

PDATETIME pdt (input)
The pointer to a DATETIME structure containing the date and time to be set as the system's date and time.

Returns

APIRET rc
0 NO_ERROR
327 ERROR_TS_DATETIME

Gotchas

The sign of the time zone is opposed to that ordinarily used. I.e. GMT+1 (Western Europe) <=> -60

Sample Code

#define INCL_DOSDATETIME
#include <os2.h>

DATETIME dt;

dt.hours=12;
dt.minutes=34;
dt.seconds=56;
dt.hundredths=78;
dt.day=8;
dt.month=7;
dt.year=1996;
dt.timezone=-60; /* West Europe */
dt.weekday=1;    /* Monday */

if(DosSetDateTime(&dt)) /* Set time to 12:34:56.78, Monday July 8, 1996 */
                        /* somewhere in Western Europe */
{
    /* Failure */
}
else
{
    /* Success */
}

See Also

Alternative Version

  1. OS2Linux project (Common Public License) created a clone for this function [1].