c时间库 time.h xlocale.h
2018-07-27 本文已影响0人
coder_xiaoyu
time.h
时间类型
- struct_time: 描述日历时间的结构体
struct tm
{
int tm_sec; /* 秒数 [0-60] (允许最多1个闰秒) */
int tm_min; /* 分钟数 [0-59] */
int tm_hour; /* 小时数 [0-23] */
int tm_mday; /* 日期 [1-31] */
int tm_mon; /* 月份 [0-11] */
int tm_year; /* 从1900年起的年份数 - 1900. */
int tm_wday; /* 星期 [0-6] */
int tm_yday; /* 从1月1日算起的天数 [0-365] */
int tm_isdst; /* 夏时制标志,1夏时制,0非夏时制,-1不确定 [-1/0/1]*/
#ifdef __USE_BSD
long int tm_gmtoff; /* UTC以东的秒数 */
__const char *tm_zone; /* 时区缩写 */
#else
long int __tm_gmtoff; /* UTC以东的秒数 */
__const char *__tm_zone; /* 时区缩写 */
#endif
};
- formmat_time_string: 格式化时间
- timestamp:时间戳
函数
- mktime
/* 返回TP的time_t表示,并且对TP进行规格化 */
extern time_t mktime (struct tm *__tp) __THROW;
- gmtime
/* 返回TIMER的struct tm表示(为格林尼治标准时间UTC) */
extern struct tm *gmtime (__const time_t *__timer) __THROW;
- localtime
/* 返回TIMER的struct tm表示(为本地时间) */
extern struct tm *localtime (__const time_t *__timer) __THROW;
- strftime
/* 根据控制串FORMAT对TP进行格式化,并保存到S中,最多写入MAXSIZE个字符到S中,并返回
写入的字符数,如果字符串长超过MAXSIZE,则返回0 */
extern size_t strftime (char *__restrict __s, size_t __maxsize,
__const char *__restrict __format,
__const struct tm *__restrict __tp) __THROW;
- strptime
/* 根据FORMAT解析S,把二进制的时间信息保存到TP中。返回值为指向S中第一个未
解析的字符的指针(该函数把格式化时间当做UTC时间来转换) */
extern char *strptime (__const char *__restrict __s,
__const char *__restrict __fmt, struct tm *__tp)
__THROW;
xlocale.h
函数
- strftime_l ==同上strftime最后一个参数为区域设置参数==
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
__const char *__restrict __format,
__const struct tm *__restrict __tp,
__locale_t __loc) __THROW;
- strptime_l ==同上strptime最后一个参数为区域设置参数==
extern char *strptime_l (__const char *__restrict __s,
__const char *__restrict __fmt, struct tm *__tp,
__locale_t __loc) __THROW;