ReactOS
0.4.16-dev-588-gf07ea94
time.h
Go to the documentation of this file.
1
#define DIFFTIME 0x19db1ded53e8000ULL
2
#define DIFFDAYS (3 * DAYSPER100YEARS + 17 * DAYSPER4YEARS + 1 * DAYSPERYEAR)
3
4
#define DAYSPERYEAR 365
5
#define DAYSPER4YEARS (4*DAYSPERYEAR+1)
6
#define DAYSPER100YEARS (25*DAYSPER4YEARS-1)
7
#define DAYSPER400YEARS (4*DAYSPER100YEARS+1)
8
#define SECONDSPERDAY (24*60*60)
9
#define SECONDSPERHOUR (60*60)
10
#define LEAPDAY 59
11
12
static
__inline
13
__time64_t
14
FileTimeToUnixTime
(
const
FILETIME
*FileTime,
USHORT
*millitm)
15
{
16
ULARGE_INTEGER
ULargeInt;
17
__time64_t
time
;
18
19
ULargeInt.
LowPart
= FileTime->
dwLowDateTime
;
20
ULargeInt.
HighPart
= FileTime->
dwHighDateTime
;
21
ULargeInt.
QuadPart
-=
DIFFTIME
;
22
23
time
= ULargeInt.
QuadPart
/ 10000000;
24
if
(millitm)
25
*millitm = (
USHORT
)((ULargeInt.
QuadPart
% 10000000) / 10000);
26
27
return
time
;
28
}
29
30
static
__inline
31
long
leapyears_passed
(
long
days)
32
{
33
long
quadcenturies, centuries, quadyears;
34
quadcenturies = days /
DAYSPER400YEARS
;
35
days -= quadcenturies;
36
centuries = days /
DAYSPER100YEARS
;
37
days += centuries;
38
quadyears = days /
DAYSPER4YEARS
;
39
return
quadyears - centuries + quadcenturies;
40
}
41
42
static
__inline
43
long
leapdays_passed
(
long
days)
44
{
45
return
leapyears_passed
(days +
DAYSPERYEAR
-
LEAPDAY
+ 1);
46
}
47
48
static
__inline
49
long
years_passed
(
long
days)
50
{
51
return
(days -
leapdays_passed
(days)) / 365;
52
}
53
54
extern
long
dst_begin
;
55
extern
long
dst_end
;
__inline
#define __inline
Definition:
_wctype.cpp:15
time
__u16 time
Definition:
mkdosfs.c:8
USHORT
unsigned short USHORT
Definition:
pedump.c:61
leapdays_passed
static __inline long leapdays_passed(long days)
Definition:
time.h:43
years_passed
static __inline long years_passed(long days)
Definition:
time.h:49
DAYSPER100YEARS
#define DAYSPER100YEARS
Definition:
time.h:6
DAYSPERYEAR
#define DAYSPERYEAR
Definition:
time.h:4
LEAPDAY
#define LEAPDAY
Definition:
time.h:10
FileTimeToUnixTime
static __inline __time64_t FileTimeToUnixTime(const FILETIME *FileTime, USHORT *millitm)
Definition:
time.h:14
dst_begin
long dst_begin
Definition:
timezone.c:16
DIFFTIME
#define DIFFTIME
Definition:
time.h:1
DAYSPER400YEARS
#define DAYSPER400YEARS
Definition:
time.h:7
dst_end
long dst_end
Definition:
timezone.c:17
leapyears_passed
static __inline long leapyears_passed(long days)
Definition:
time.h:31
DAYSPER4YEARS
#define DAYSPER4YEARS
Definition:
time.h:5
_FILETIME
Definition:
mapidefs.h:60
_FILETIME::dwHighDateTime
DWORD dwHighDateTime
Definition:
mapidefs.h:66
_FILETIME::dwLowDateTime
DWORD dwLowDateTime
Definition:
mapidefs.h:65
_ULARGE_INTEGER
Definition:
ms-dtyp.idl:184
_ULARGE_INTEGER::LowPart
$ULONG LowPart
Definition:
ntbasedef.h:577
_ULARGE_INTEGER::QuadPart
ULONGLONG QuadPart
Definition:
ms-dtyp.idl:185
_ULARGE_INTEGER::HighPart
$ULONG HighPart
Definition:
ntbasedef.h:578
__time64_t
__int64 __time64_t
Definition:
corecrt.h:619
sdk
lib
crt
include
internal
time.h
Generated on Thu Jan 23 2025 06:14:51 for ReactOS by
1.9.6