STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
time.h
Go to the documentation of this file.
1 //
2 // time.h
3 //
4 // Copyright (c) Microsoft Corporation. All rights reserved.
5 //
6 // The C Standard Library <time.h> header.
7 //
8 #pragma once
9 #define _INC_TIME
10 
11 #include <corecrt.h>
12 #include <corecrt_wtime.h>
13 
15 
16 
17 
18 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
19 //
20 // Types
21 //
22 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
23 typedef long clock_t;
24 
26 {
28  long tv_nsec;
29 };
30 
32 {
34  long tv_nsec;
35 };
36 
37 #ifndef _CRT_NO_TIME_T
38  struct timespec
39  {
40  time_t tv_sec; // Seconds - >= 0
41  long tv_nsec; // Nanoseconds - [0, 999999999]
42  };
43 #endif
44 
45 
46 
47 // The number of clock ticks per second
48 #define CLOCKS_PER_SEC ((clock_t)1000)
49 
50 #define TIME_UTC 1
51 
52 
53 
54 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
55 //
56 // Time Zone and Daylight Savings Time Data and Accessors
57 //
58 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
59 // Nonzero if Daylight Savings Time is used
61 _ACRTIMP int* __cdecl __daylight(void);
62 
63 #define _daylight (*__daylight())
64 
65 // Offset for Daylight Savings Time
67 _ACRTIMP long* __cdecl __dstbias(void);
68 
69 #define _dstbias (*__dstbias())
70 
71 // Difference in seconds between GMT and local time
73 _ACRTIMP long* __cdecl __timezone(void);
74 
75 #define _timezone (*__timezone())
76 
77 // Standard and Daylight Savings Time time zone names
79 _ACRTIMP char** __cdecl __tzname(void);
80 
81 #define _tzname (__tzname())
82 
83  _Success_(_Daylight != 0)
84 _ACRTIMP errno_t __cdecl _get_daylight(
85  _Out_ int* _Daylight
86  );
87 
88 _Success_(_DaylightSavingsBias != 0)
89 _ACRTIMP errno_t __cdecl _get_dstbias(
90  _Out_ long* _DaylightSavingsBias
91  );
92 
93  _Success_(_TimeZone != 0)
94 _ACRTIMP errno_t __cdecl _get_timezone(
95  _Out_ long* _TimeZone
96  );
97 
98 _Success_(return == 0)
99 _ACRTIMP errno_t __cdecl _get_tzname(
100  _Out_ size_t* _ReturnValue,
103  _In_ int _Index
104  );
105 
106 
107 
108 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
109 //
110 // AppCRT Time Functions
111 //
112 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
113 _Success_(return != 0)
114 _Ret_writes_z_(26)
116 _ACRTIMP char* __cdecl asctime(
117  _In_ struct tm const* _Tm
118  );
119 
120 #if __STDC_WANT_SECURE_LIB__
121  _Success_(return == 0)
123  _ACRTIMP errno_t __cdecl asctime_s(
124  _Out_writes_(_SizeInBytes) _Post_readable_size_(26) char* _Buffer,
125  _In_range_(>=,26) size_t _SizeInBytes,
126  _In_ struct tm const* _Tm
127  );
128 #endif
129 
131  errno_t, asctime_s,
132  _Post_readable_size_(26) char, _Buffer,
133  _In_ struct tm const*, _Time
134  )
135 
137 _ACRTIMP clock_t __cdecl clock(void);
138 
139 _Ret_z_
140 _Success_(return != 0)
142 _ACRTIMP char* __cdecl _ctime32(
143  _In_ __time32_t const* _Time
144  );
145 
147 _ACRTIMP errno_t __cdecl _ctime32_s(
148  _Out_writes_(_SizeInBytes) _Post_readable_size_(26) char* _Buffer,
149  _In_range_(>=,26) size_t _SizeInBytes,
150  _In_ __time32_t const* _Time
151  );
152 
155  _Post_readable_size_(26) char, _Buffer,
156  _In_ __time32_t const*, _Time
157  )
158 
159 _Ret_z_
160 _Success_(return != 0)
162 _ACRTIMP char* __cdecl _ctime64(
163  _In_ __time64_t const* _Time
164  );
165 
167 _ACRTIMP errno_t __cdecl _ctime64_s(
168  _Out_writes_z_(_SizeInBytes) _Post_readable_size_(26) char* _Buffer,
169  _In_range_(>=,26) size_t _SizeInBytes,
170  _In_ __time64_t const* _Time
171  );
172 
174  errno_t, _ctime64_s,
175  _Post_readable_size_(26) char, _Buffer,
176  _In_ __time64_t const*, _Time
177  )
178 
180 _ACRTIMP double __cdecl _difftime32(
181  _In_ __time32_t _Time1,
183  );
184 
186 _ACRTIMP double __cdecl _difftime64(
187  _In_ __time64_t _Time1,
189  );
190 
191 _Success_(return != 0)
193 _ACRTIMP struct tm* __cdecl _gmtime32(
194  _In_ __time32_t const* _Time
195  );
196 
198 _ACRTIMP errno_t __cdecl _gmtime32_s(
199  _Out_ struct tm* _Tm,
200  _In_ __time32_t const* _Time
201  );
202 
203 _Success_(return != 0)
205 _ACRTIMP struct tm* __cdecl _gmtime64(
206  _In_ __time64_t const* _Time
207  );
208 
210 _ACRTIMP errno_t __cdecl _gmtime64_s(
211  _Out_ struct tm* _Tm,
212  _In_ __time64_t const* _Time
213  );
214 
215 _Success_(return != 0)
217 _ACRTIMP struct tm* __cdecl _localtime32(
218  _In_ __time32_t const* _Time
219  );
220 
222 _ACRTIMP errno_t __cdecl _localtime32_s(
223  _Out_ struct tm* _Tm,
224  _In_ __time32_t const* _Time
225  );
226 
227 _Success_(return != 0)
229 _ACRTIMP struct tm* __cdecl _localtime64(
230  _In_ __time64_t const* _Time
231  );
232 
234 _ACRTIMP errno_t __cdecl _localtime64_s(
235  _Out_ struct tm* _Tm,
236  _In_ __time64_t const* _Time
237  );
238 
241  _Inout_ struct tm* _Tm
242  );
243 
246  _Inout_ struct tm* _Tm
247  );
248 
251  _Inout_ struct tm* _Tm
252  );
253 
256  _Inout_ struct tm* _Tm
257  );
258 
259 _Success_(return > 0)
261 _ACRTIMP size_t __cdecl strftime(
262  _Out_writes_z_(_SizeInBytes) char* _Buffer,
263  _In_ size_t _SizeInBytes,
265  _In_ struct tm const* _Tm
266  );
267 
268 _Success_(return > 0)
270 _ACRTIMP size_t __cdecl _strftime_l(
271  _Out_writes_z_(_MaxSize) char* _Buffer,
272  _In_ size_t _MaxSize,
273  _In_z_ _Printf_format_string_ char const* _Format,
274  _In_ struct tm const* _Tm,
276  );
277 
279 _ACRTIMP errno_t __cdecl _strdate_s(
280  _Out_writes_(_SizeInBytes) _Post_readable_size_(9) char* _Buffer,
281  _In_ _In_range_(>=, 9) size_t _SizeInBytes
282  );
283 
285  errno_t, _strdate_s,
286  _Post_readable_size_(9) char, _Buffer
287  )
288 
291  _Out_writes_z_(9), char, _Buffer
292  )
293 
295 _ACRTIMP errno_t __cdecl _strtime_s(
296  _Out_writes_(_SizeInBytes) _Post_readable_size_(9) char* _Buffer,
297  _In_ _In_range_(>=, 9) size_t _SizeInBytes
298  );
299 
301  errno_t, _strtime_s,
302  _Post_readable_size_(9) char, _Buffer
303  )
304 
306  char*, __RETURN_POLICY_DST, _ACRTIMP, _strtime,
307  _Out_writes_z_(9), char, _Buffer
308  )
309 
310 _ACRTIMP __time32_t __cdecl _time32(
311  _Out_opt_ __time32_t* _Time
312  );
313 
314 _ACRTIMP __time64_t __cdecl _time64(
315  _Out_opt_ __time64_t* _Time
316  );
317 
318 _Success_(return != 0)
320 _ACRTIMP int __cdecl _timespec32_get(
321  _Out_ struct _timespec32* _Ts,
322  _In_ int _Base
323  );
324 
325 _Success_(return != 0)
327 _ACRTIMP int __cdecl _timespec64_get(
328  _Out_ struct _timespec64* _Ts,
329  _In_ int _Base
330  );
331 
332 
333 
334 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
335 //
336 // DesktopCRT Time Functions
337 //
338 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
339 #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
340 
341  _ACRTIMP void __cdecl _tzset(void);
342 
343  // The Win32 API GetLocalTime and SetLocalTime should be used instead.
344  _CRT_OBSOLETE(GetLocalTime)
345  _DCRTIMP unsigned __cdecl _getsystime(
346  _Out_ struct tm* _Tm
347  );
348 
349  _CRT_OBSOLETE(SetLocalTime)
350  _DCRTIMP unsigned __cdecl _setsystime(
351  _In_ struct tm* _Tm,
352  _In_ unsigned _Milliseconds
353  );
354 
355 #endif
356 
357 
358 
359 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
360 //
361 // Inline Function Definitions
362 //
363 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
364 #if !defined RC_INVOKED && !defined __midl && !defined _INC_TIME_INL && !defined _CRT_NO_TIME_T
365 
366  #ifdef _USE_32BIT_TIME_T
367 
369  static __inline char* __CRTDECL ctime(
370  _In_ time_t const* const _Time
371  )
372  {
373  #pragma warning(push)
374  #pragma warning(disable: 4996)
375  return _ctime32(_Time);
376  #pragma warning(pop)
377  }
378 
380  static __inline double __CRTDECL difftime(
381  _In_ time_t const _Time1,
382  _In_ time_t const _Time2
383  )
384  {
385  return _difftime32(_Time1, _Time2);
386  }
387 
389  static __inline struct tm* __CRTDECL gmtime(
390  _In_ time_t const* const _Time
391  )
392  {
393  #pragma warning(push)
394  #pragma warning(disable: 4996)
395  return _gmtime32(_Time);
396  #pragma warning(pop)
397  }
398 
400  static __inline struct tm* __CRTDECL localtime(
401  _In_ time_t const* const _Time
402  )
403  {
404  #pragma warning(push)
405  #pragma warning(disable: 4996)
406  return _localtime32(_Time);
407  #pragma warning(pop)
408  }
409 
411  static __inline time_t __CRTDECL _mkgmtime(
412  _Inout_ struct tm* const _Tm
413  )
414  {
415  return _mkgmtime32(_Tm);
416  }
417 
419  static __inline time_t __CRTDECL mktime(
420  _Inout_ struct tm* const _Tm
421  )
422  {
423  return _mktime32(_Tm);
424  }
425 
426  static __inline time_t __CRTDECL time(
427  _Out_opt_ time_t* const _Time
428  )
429  {
430  return _time32(_Time);
431  }
432 
434  static __inline int __CRTDECL timespec_get(
435  _Out_ struct timespec* const _Ts,
436  _In_ int const _Base
437  )
438  {
439  return _timespec32_get((struct _timespec32*)_Ts, _Base);
440  }
441 
442  #if __STDC_WANT_SECURE_LIB__
444  static __inline errno_t __CRTDECL ctime_s(
445  _Out_writes_(_SizeInBytes) _Post_readable_size_(26) char* const _Buffer,
446  _In_range_(>=,26) size_t const _SizeInBytes,
447  _In_ time_t const* const _Time
448  )
449  {
450  return _ctime32_s(_Buffer, _SizeInBytes, _Time);
451  }
452 
454  static __inline errno_t __CRTDECL gmtime_s(
455  _Out_ struct tm* const _Tm,
456  _In_ time_t const* const _Time
457  )
458  {
459  return _gmtime32_s(_Tm, _Time);
460  }
461 
463  static __inline errno_t __CRTDECL localtime_s(
464  _Out_ struct tm* const _Tm,
465  _In_ time_t const* const _Time
466  )
467  {
468  return _localtime32_s(_Tm, _Time);
469  }
470  #endif
471 
472  #else // ^^^ _USE_32BIT_TIME_T ^^^ // vvv !_USE_32BIT_TIME_T vvv
473 
475  static __inline char* __CRTDECL ctime(
476  _In_ time_t const* const _Time
477  )
478  {
479  #pragma warning(push)
480  #pragma warning(disable: 4996)
481  return _ctime64(_Time);
482  #pragma warning(pop)
483  }
484 
486  static __inline double __CRTDECL difftime(
487  _In_ time_t const _Time1,
488  _In_ time_t const _Time2
489  )
490  {
491  return _difftime64(_Time1, _Time2);
492  }
493 
495  static __inline struct tm* __CRTDECL gmtime(
496  _In_ time_t const* const _Time)
497  {
498  #pragma warning(push)
499  #pragma warning(disable: 4996)
500  return _gmtime64(_Time);
501  #pragma warning(pop)
502  }
503 
505  static __inline struct tm* __CRTDECL localtime(
506  _In_ time_t const* const _Time
507  )
508  {
509  #pragma warning(push)
510  #pragma warning(disable: 4996)
511  return _localtime64(_Time);
512  #pragma warning(pop)
513  }
514 
516  static __inline time_t __CRTDECL _mkgmtime(
517  _Inout_ struct tm* const _Tm
518  )
519  {
520  return _mkgmtime64(_Tm);
521  }
522 
524  static __inline time_t __CRTDECL mktime(
525  _Inout_ struct tm* const _Tm
526  )
527  {
528  return _mktime64(_Tm);
529  }
530 
531  static __inline time_t __CRTDECL time(
532  _Out_opt_ time_t* const _Time
533  )
534  {
535  return _time64(_Time);
536  }
537 
539  static __inline int __CRTDECL timespec_get(
540  _Out_ struct timespec* const _Ts,
541  _In_ int const _Base
542  )
543  {
544  return _timespec64_get((struct _timespec64*)_Ts, _Base);
545  }
546 
547  #if __STDC_WANT_SECURE_LIB__
549  static __inline errno_t __CRTDECL ctime_s(
550  _Out_writes_(_SizeInBytes) _Post_readable_size_(26) char* const _Buffer,
551  _In_range_(>=,26) size_t const _SizeInBytes,
552  _In_ time_t const* const _Time
553  )
554  {
555  return _ctime64_s(_Buffer, _SizeInBytes, _Time);
556  }
557 
559  static __inline errno_t __CRTDECL gmtime_s(
560  _Out_ struct tm* const _Tm,
561  _In_ time_t const* const _Time
562  )
563  {
564  return _gmtime64_s(_Tm, _Time);
565  }
566 
568  static __inline errno_t __CRTDECL localtime_s(
569  _Out_ struct tm* const _Tm,
570  _In_ time_t const* const _Time
571  )
572  {
573  return _localtime64_s(_Tm, _Time);
574  }
575  #endif
576 
577  #endif // !_USE_32BIT_TIME_T
578 
579 #endif
580 
581 
582 
583 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
584 //
585 // Non-ANSI Names for Compatibility
586 //
587 //-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
588 #if _CRT_INTERNAL_NONSTDC_NAMES
589 
590  #define CLK_TCK CLOCKS_PER_SEC
591 
592  #ifdef _CRT_USE_WINAPI_FAMILY_DESKTOP_APP
593  _CRT_NONSTDC_DEPRECATE(_tzset) _ACRTIMP void __cdecl tzset(void);
594  #endif
595 
596 #endif // _CRT_INTERNAL_NONSTDC_NAMES
597 
598 
599 
#define _Out_
Definition: sal.h:342
return
Definition: corecrt_memcpy_s.h:60
static _Check_return_wat_ __inline errno_t __CRTDECL localtime_s(_Out_ struct tm *const _Tm, _In_ time_t const *const _Time)
Definition: time.h:568
Definition: corecrt.h:489
_CRT_BEGIN_C_HEADER typedef long clock_t
Definition: time.h:23
#define _Ret_writes_z_(size)
Definition: sal.h:535
_Check_return_ _CRT_INSECURE_DEPRECATE_GLOBALS(_get_daylight) _ACRTIMP int *__cdecl __daylight(void)
_In_ size_t _In_z_ _Printf_format_string_ char const _In_ struct tm const _In_opt_ _locale_t _Locale
Definition: time.h:274
_Check_return_ _ACRTIMP __time64_t __cdecl _mkgmtime64(_Inout_ struct tm *_Tm)
long tv_nsec
Definition: time.h:34
_CRT_NONSTDC_DEPRECATE(_tzset) _ACRTIMP void __cdecl tzset(void)
_Check_return_wat_ _ACRTIMP errno_t __cdecl _localtime32_s(_Out_ struct tm *_Tm, _In_ __time32_t const *_Time)
#define _Out_opt_
Definition: sal.h:343
_Check_return_opt_ _ACRTIMP __time32_t __cdecl _mktime32(_Inout_ struct tm *_Tm)
__time32_t tv_sec
Definition: time.h:27
static _Check_return_ __inline int __CRTDECL timespec_get(_Out_ struct timespec *const _Ts, _In_ int const _Base)
Definition: time.h:539
#define _Check_return_opt_
Definition: corecrt.h:96
#define _Ret_z_
Definition: sal.h:521
_In_range_(>=, 26) size_t _SizeInBytes
_Check_return_wat_ _ACRTIMP errno_t __cdecl _gmtime64_s(_Out_ struct tm *_Tm, _In_ __time64_t const *_Time)
_CRT_OBSOLETE(iswctype) _DCRTIMP int __cdecl is_wctype(_In_ wint_t _C
_ACRTIMP void __cdecl _tzset(void)
_strdate
Definition: time.h:290
_ACRTIMP
Definition: time.h:290
_Check_return_wat_ _ACRTIMP errno_t __cdecl _ctime64_s(_Out_writes_z_(_SizeInBytes) _Post_readable_size_(26) char *_Buffer, _In_range_(>=, 26) size_t _SizeInBytes, _In_ __time64_t const *_Time)
int errno_t
Definition: corecrt.h:476
static __inline struct tm *__CRTDECL localtime(_In_ time_t const *const _Time)
Definition: time.h:505
#define _Check_return_wat_
Definition: corecrt.h:102
_Check_return_opt_ _ACRTIMP __time64_t __cdecl _mktime64(_Inout_ struct tm *_Tm)
#define _CRT_BEGIN_C_HEADER
Definition: vcruntime.h:73
_Success_(_Daylight!=0) _ACRTIMP errno_t __cdecl _get_daylight(_Out_ int *_Daylight)
_In_ size_t _In_ int _Index
Definition: time.h:102
static _Check_return_ __inline time_t __CRTDECL _mkgmtime(_Inout_ struct tm *const _Tm)
Definition: time.h:516
static _Check_return_opt_ __inline time_t __CRTDECL mktime(_Inout_ struct tm *const _Tm)
Definition: time.h:524
time_t tv_sec
Definition: time.h:40
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_1(errno_t, asctime_s, _Post_readable_size_(26) char, _Buffer, _In_ struct tm const *, _Time) _Check_return_ _ACRTIMP clock_t __cdecl clock(void)
Definition: time.h:31
_Check_return_wat_ _ACRTIMP errno_t __cdecl _localtime64_s(_Out_ struct tm *_Tm, _In_ __time64_t const *_Time)
#define __CRTDECL
Definition: vcruntime.h:156
static _Check_return_wat_ __inline errno_t __CRTDECL gmtime_s(_Out_ struct tm *const _Tm, _In_ time_t const *const _Time)
Definition: time.h:559
__time64_t time_t
Definition: corecrt.h:517
#define _Check_return_
Definition: sal.h:554
#define _In_z_
Definition: sal.h:310
#define _In_
Definition: sal.h:305
_Buffer _ACRTIMP __time32_t __cdecl _time32(_Out_opt_ __time32_t *_Time)
long tv_nsec
Definition: time.h:41
_Check_return_ _CRT_INSECURE_DEPRECATE(ctime_s) static __inline char *__CRTDECL ctime(_In_ time_t const *const _Time)
Definition: time.h:474
#define _In_opt_
Definition: sal.h:306
_In_ int _Base
Definition: time.h:323
long __time32_t
Definition: corecrt.h:479
_In_ size_t _In_z_ _Printf_format_string_ char const * _Format
Definition: time.h:263
__DEFINE_CPP_OVERLOAD_SECURE_FUNC_0_0(errno_t, _strdate_s, _Post_readable_size_(9) char, _Buffer) __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_Success_(return!=0) char *
_DCRTIMP unsigned __cdecl _setsystime(_In_ struct tm *_Tm, _In_ unsigned _Milliseconds)
__time64_t tv_sec
Definition: time.h:33
#define _DCRTIMP
Definition: corecrt.h:43
_Check_return_wat_ *_SizeRead wchar_t * _Buffer
Definition: corecrt_wconio.h:27
_Check_return_wat_ _ACRTIMP errno_t __cdecl _gmtime32_s(_Out_ struct tm *_Tm, _In_ __time32_t const *_Time)
_In_ size_t _SizeInBytes
Definition: time.h:102
#define _Printf_format_string_
Definition: sal.h:558
_strtime
Definition: time.h:306
Definition: corecrt_wtime.h:22
#define _Deref_ret_z_
Definition: sal.h:1203
#define _CRT_END_C_HEADER
Definition: vcruntime.h:76
_DCRTIMP unsigned __cdecl _getsystime(_Out_ struct tm *_Tm)
static _Check_return_ __inline double __CRTDECL difftime(_In_ time_t const _Time1, _In_ time_t const _Time2)
Definition: time.h:486
long tv_nsec
Definition: time.h:28
static _Check_return_wat_ __inline errno_t __CRTDECL ctime_s(_Out_writes_(_SizeInBytes) _Post_readable_size_(26) char *const _Buffer, _In_range_(>=, 26) size_t const _SizeInBytes, _In_ time_t const *const _Time)
Definition: time.h:549
#define _Out_writes_(size)
Definition: sal.h:345
__int64 __time64_t
Definition: corecrt.h:480
#define _Post_readable_size_(size)
Definition: sal.h:646
#define __DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_0(_ReturnType, _ReturnPolicy, _DeclSpec, _FuncName, _SalAttributeDst, _DstType, _Dst)
Definition: corecrt.h:709
_Check_return_wat_ _ACRTIMP errno_t __cdecl _ctime32_s(_Out_writes_(_SizeInBytes) _Post_readable_size_(26) char *_Buffer, _In_range_(>=, 26) size_t _SizeInBytes, _In_ __time32_t const *_Time)
_In_ __time32_t _Time2
Definition: time.h:183
static __inline time_t __CRTDECL time(_Out_opt_ time_t *const _Time)
Definition: time.h:531
_Out_writes_z_(_SizeInBytes) char *_Buffer
#define _Inout_
Definition: sal.h:375
Definition: time.h:38
_ACRTIMP __time64_t __cdecl _time64(_Out_opt_ __time64_t *_Time)
_Check_return_ _ACRTIMP double __cdecl _difftime64(_In_ __time64_t _Time1, _In_ __time64_t _Time2)
Definition: time.h:25
_In_ struct tm const * _Tm
Definition: time.h:126
_Buffer _Check_return_wat_ _ACRTIMP errno_t __cdecl _strtime_s(_Out_writes_(_SizeInBytes) _Post_readable_size_(9) char *_Buffer, _In_ _In_range_(>=, 9) size_t _SizeInBytes)
_In_ size_t _MaxSize
Definition: time.h:272
__RETURN_POLICY_DST
Definition: time.h:290
_Check_return_wat_ _ACRTIMP errno_t __cdecl _strdate_s(_Out_writes_(_SizeInBytes) _Post_readable_size_(9) char *_Buffer, _In_ _In_range_(>=, 9) size_t _SizeInBytes)
_Check_return_ _ACRTIMP __time32_t __cdecl _mkgmtime32(_Inout_ struct tm *_Tm)