time.h

"time.h"

  日期和时间函数
 
  本类别给出时间和日期处理函数
 
  头文件 time.h
 
  函数列表
 
  函数类别 函数用途 详细说明
 
  时间操作函数 得到处理器时间 clock
 
  得到时间差 difftime
 
  设置时间 mktime
 
  得到时间 time
 
  时间转换函数 得到以ASCII码表示的时间 asctime
 
  得到字符串表示的时间 ctime
 
  得到指定格式的时间 strftime
 
  time.h的原文件为:
 
  /*
 
  * time.h
 
  * This file has no copyright assigned and is placed in the Public Domain.
 
  * This file is a part of the mingw-runtime package.
 
  * No warranty is given; refer to the file DISCLAIMER within the package.
 
  *
 
  * Date and time functions and types.
 
  *
 
  */
 
  #ifndef        _TIME_H_
 
  #define        _TIME_H_
 
  /* All the headers include this file. */
 
  #include <_mingw.h>
 
  #define __need_wchar_t
 
  #define __need_size_t
 
  #define __need_NULL
 
  #ifndef RC_INVOKED
 
  #include <stddef.h>
 
  #endif        /* Not RC_INVOKED */
 
  /*
 
  * Number of clock ticks per second. A clock tick is the unit by which
 
  * processor time is measured and is returned by 'clock'.
 
  */
 
  #define        CLOCKS_PER_SEC        ((clock_t)1000)
 
  #define        CLK_TCK                CLOCKS_PER_SEC
 
  #ifndef RC_INVOKED
 
  /*
 
  * A type for storing the current time and date. This is the number of
 
  * seconds since midnight Jan 1, 1970.
 
  * NOTE: This is also defined in non-ISO sys/types.h.
 
  */
 
  #ifndef _TIME_T_DEFINED
 
  typedef        long        time_t;
 
  #define _TIME_T_DEFINED
 
  #endif
 
  #ifndef __STRICT_ANSI__
 
  /* A 64-bit time_t to get to Y3K */
 
  #ifndef _TIME64_T_DEFINED
 
  typedef __int64 __time64_t;
 
  #define _TIME64_T_DEFINED
 
  #endif
 
  #endif
 
  /*
 
  * A type for measuring processor time (in clock ticks).
 
  */
 
  #ifndef _CLOCK_T_DEFINED
 
  typedef        long        clock_t;
 
  #define _CLOCK_T_DEFINED
 
  #endif
 
  #ifndef _TM_DEFINED
 
  /*
 
  * A structure for storing all kinds of useful information about the
 
  * current (or another) time.
 
  */
 
  struct tm
 
  {
 
          int        tm_sec;                /* Seconds: 0-59 (K&R says 0-61?) */
 
          int        tm_min;                /* Minutes: 0-59 */
 
          int        tm_hour;        /* Hours since midnight: 0-23 */
 
          int        tm_mday;        /* Day of the month: 1-31 */
 
          int        tm_mon;                /* Months *since* january: 0-11 */
 
          int        tm_year;        /* Years since 1900 */
 
          int        tm_wday;        /* Days since Sunday (0-6) */
 
          int        tm_yday;        /* Days since Jan. 1: 0-365 */
 
          int        tm_isdst;        /* +1 Daylight Savings Time, 0 No DST,
 
                                   * -1 don't know */
 
  };
 
  #define _TM_DEFINED
 
  #endif
 
  #ifdef        __cplusplus
 
  extern "C" {
 
  #endif
 
  _CRTIMP clock_t __cdecl        clock (void);
 
  _CRTIMP time_t __cdecl        time (time_t*);
 
  _CRTIMP double __cdecl        difftime (time_t, time_t);
 
  _CRTIMP time_t __cdecl        mktime (struct tm*);
 
  /*
 
  * These functions write to and return pointers to static buffers that may
 
  * be overwritten by other function calls. Yikes!
 
  *
 
  * NOTE: localtime, and perhaps the others of the four functions grouped
 
  * below may return NULL if their argument is not 'acceptable'. Also note
 
  * that calling asctime with a NULL pointer will produce an Invalid Page
 
  * Fault and crap out your program. Guess how I know. Hint: stat called on
 
  * a directory gives 'invalid' times in st_atime etc...
 
  */
 
  _CRTIMP char* __cdecl                asctime (const struct tm*);
 
  _CRTIMP char* __cdecl                ctime (const time_t*);
 
  _CRTIMP struct tm*  __cdecl        gmtime (const time_t*);
 
  _CRTIMP struct tm*  __cdecl        localtime (const time_t*);
 
  _CRTIMP size_t __cdecl                strftime (char*, size_t, const char*, const struct tm*);
 
  #ifndef __STRICT_ANSI__
 
  extern _CRTIMP void __cdecl        _tzset (void);
 
  #ifndef _NO_OLDNAMES
 
  extern _CRTIMP void __cdecl        tzset (void);
 
  #endif
 
  _CRTIMP char* __cdecl        _strdate(char*);
 
  _CRTIMP char* __cdecl        _strtime(char*);
 
  /* These require newer versions of msvcrt.dll (6.10 or higher). */
 
  #if __MSVCRT_VERSION__ >= 0x0601
 
  _CRTIMP __time64_t __cdecl  _time64( __time64_t);
 
  _CRTIMP __time64_t __cdecl  _mktime64 (struct tm*);
 
  _CRTIMP char* __cdecl _ctime64 (const __time64_t*);
 
  _CRTIMP struct tm*  __cdecl _gmtime64 (const __time64_t*);
 
  _CRTIMP struct tm*  __cdecl _localtime64 (const __time64_t*);
 
  #endif /* __MSVCRT_VERSION__ >= 0x0601 */
 
  /*
 
  * _daylight: non zero if daylight savings time is used.
 
  * _timezone: difference in seconds between GMT and local time.
 
  * _tzname: standard/daylight savings time zone names (an array with two
 
  *          elements).
 
  */
 
  #ifdef __MSVCRT__
 
  /* These are for compatibility with pre-VC 5.0 suppied MSVCRT. */
 
  extern _CRTIMP int* __cdecl        __p__daylight (void);
 
  extern _CRTIMP long* __cdecl        __p__timezone (void);
 
  extern _CRTIMP char** __cdecl        __p__tzname (void);
 
  __MINGW_IMPORT int        _daylight;
 
  __MINGW_IMPORT long        _timezone;
 
  __MINGW_IMPORT char         *_tzname[2];
 
  #else /* not __MSVCRT (ie. crtdll) */
 
  #ifndef __DECLSPEC_SUPPORTED
 
  extern int*        _imp___daylight_dll;
 
  extern long*        _imp___timezone_dll;
 
  extern char**        _imp___tzname;
 
  #define _daylight        (*_imp___daylight_dll)
 
  #define _timezone        (*_imp___timezone_dll)
 
  #define _tzname                (*_imp___tzname)
 
  #else /* __DECLSPEC_SUPPORTED */
 
  __MINGW_IMPORT int        _daylight_dll;
 
  __MINGW_IMPORT long        _timezone_dll;
 
  __MINGW_IMPORT char*        _tzname[2];
 
  #define _daylight        _daylight_dll
 
  #define _timezone        _timezone_dll
 
  #endif /* __DECLSPEC_SUPPORTED */
 
  #endif /* not __MSVCRT__ */
 
  #ifndef _NO_OLDNAMES
 
  #ifdef __MSVCRT__
 
  /* These go in the oldnames import library for MSVCRT. */
 
  __MINGW_IMPORT int        daylight;
 
  __MINGW_IMPORT long        timezone;
 
  __MINGW_IMPORT char         *tzname[2];
 
  #else /* not __MSVCRT__ */
 
  /* CRTDLL is royally messed up when it comes to these macros.
 
  TODO: import and alias these via oldnames import library instead
 
  of macros.  */
 
  #define daylight        _daylight
 
  /* NOTE: timezone not defined because it would conflict with sys/timeb.h.
 
  Also, tzname used to a be macro, but now it's in moldname. */
 
  __MINGW_IMPORT char         *tzname[2];
 
  #endif /* not __MSVCRT__ */
 
  #endif        /* Not _NO_OLDNAMES */
 
  #endif        /* Not __STRICT_ANSI__ */
 
  #ifndef _WTIME_DEFINED
 
  /* wide function prototypes, also declared in wchar.h */
 
  #ifndef __STRICT_ANSI__
 
  #ifdef __MSVCRT__
 
  _CRTIMP wchar_t* __cdecl        _wasctime(const struct tm*);
 
  _CRTIMP wchar_t* __cdecl        _wctime(const time_t*);
 
  _CRTIMP wchar_t* __cdecl        _wstrdate(wchar_t*);
 
  _CRTIMP wchar_t* __cdecl        _wstrtime(wchar_t*);
 
  #if __MSVCRT_VERSION__ >= 0x0601
 
  _CRTIMP wchar_t* __cdecl        _wctime64 (const __time64_t*);
 
  #endif
 
  #endif /*  __MSVCRT__ */
 
  #endif /* __STRICT_ANSI__ */
 
  _CRTIMP size_t __cdecl                wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);
 
  #define _WTIME_DEFINED
 
  #endif /* _WTIME_DEFINED */
 
  #ifdef        __cplusplus
 
  }
 
  #endif
 
  #endif        /* Not RC_INVOKED */
 
  #endif        /* Not _TIME_H_ */

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值