函数
<ctime>

localtime

struct tm * localtime (const time_t * timer);
将 time_t 转换为本地时间的 tm 结构
使用 timer 所指向的值来填充一个 tm 结构体,其值表示对应于本地时区的时间。

参数

timer
指向 time_t 类型对象的指针,该对象包含一个时间值。
time_t 是一个基础算术类型的别名,能够表示由函数 time 返回的时间。

返回值

一个指向 tm 结构体的指针,其成员将被填充为 timer 对应的本地时间表示。

返回的值指向一个内部对象,其有效性或值可能会被任何后续对 gmtimelocaltime 的调用所改变。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* localtime example */
#include <stdio.h>      /* puts, printf */
#include <time.h>       /* time_t, struct tm, time, localtime */

int main ()
{
  time_t rawtime;
  struct tm * timeinfo;

  time (&rawtime);
  timeinfo = localtime (&rawtime);
  printf ("Current local time and date: %s", asctime(timeinfo));

  return 0;
}

输出

Current local time and date: Wed Feb 13 17:17:11 2013


数据竞争

该函数访问由 timer 指向的对象。
该函数还会访问和修改一个共享的内部对象,这可能在并发调用 gmtimelocaltime 时引入数据竞争。一些库提供了一个替代函数来避免这种数据竞争:localtime_r(非可移植)。

异常 (C++)

无异常保证:此函数从不抛出异常。

另见