localtime ()- 轉換時間

格式

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

語言層次

ANSI

安全執行緒

請改用 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
*/

相關資訊