localtime ()- 转换时间

格式

#include <time.h>
struct tm *localtime(const time_t *timeval);

语言级别

ANSI

线程安全

False

请改为使用 localtime_r()

语言环境敏感

此函数的行为可能受当前语言环境的 LC_TOD 类别影响。

描述

localtime() 函数将时间值 (以秒为单位) 转换为类型为 tm的结构。

localtime() 函数采用假定为全球标准时间 (UTC) 的 timeval ,并将其转换为作业语言环境时间。 对于此转换, localtime() 将检查本地时区和夏令时 (DST) 的当前语言环境设置。 如果未在当前语言环境中设置这些值,那么 localtime() 将从当前作业获取本地时区和夏令时 (DST) 设置。 转换后,将在类型为 tm的结构中返回时间。 如果在语言环境中设置了 DST ,但未设置时区信息,那么将忽略该语言环境中的 DST 信息。

通常通过调用 time() 函数来获取时间值。
注:
  1. gmtime()localtime() 函数可以使用公共的静态分配缓冲区进行转换。 对其中一个函数的每个调用都可能破坏先前调用的结果。 ctime_r()gmtime_r()localtime_r() 函数不使用公共的静态分配缓冲区。 如果需要重新环境,那么可以使用这些函数来代替 asctime()ctime()gmtime()localtime() 函数。
  2. 日历时间是自 EPOCH 以来经过的秒数,即 00:00:00 , 1970 年 1 月 1 全球标准时间 (UTC)。

返回值

localtime() 函数返回指向结构结果的指针。 没有错误返回值。

示例

此示例查询系统时钟并显示本地时间。
#include <time.h>
#include <stdio.h>
 
int main(void)
{
   struct tm *newtime;
   time_t ltime;
 
   ltime = time(&ltime);
   newtime = localtime(&ltime);
   printf("The date and time is %s", asctime(newtime));}
 
/**************  If the local time is 3 p.m. February 15, 2008, **********
*************************  the output should be:  *********************
 
The date and time is Fri Feb 15 15:00:00 2008
*/

相关信息