程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> struct tm->time() localtime() gmtime(),localtimegmtime

struct tm->time() localtime() gmtime(),localtimegmtime

編輯:C++入門知識

struct tm->time() localtime() gmtime(),localtimegmtime


struct tm->time() localtime() gmtime()

復制代碼
struct tm {
int tm_sec; /*代表目前秒數,正常范圍為0-59,但允許至61秒 */
int tm_min; /*代表目前分數,范圍0-59*/
int tm_hour; /*從午夜算起的時數,范圍為0-23*/
int tm_mday; /*目前月份的日數,范圍01-31*/
int tm_mon; /*代表目前月份,從一月算起,范圍從0-11*/
int tm_year; /*從1900 年算起至今的年數*/
int tm_wday; /*一星期的日數,從星期一算起,范圍為0-6 */
int tm_yday; /*從今年1月1日算起至今的天數,范圍為0-365*/
int tm_isdst; /*日光節約時間的旗標*/
};
復制代碼

time()

編程語言C語言中的函數。 頭文件:time.h 函數原型:time_t time(time_t * timer) 功能: 獲取當前的系統時間,返回的結果是一個time_t類型,其實就是一個大整數,其值表示從CUT(Coordinated Universal Time)時間1970年1月1日00:00:00(稱為UNIX系統的Epoch時間)到當前時刻的秒數。然後調用localtime將time_t所表示的CUT時間轉換為本地時間(我們是+8區,比CUT多8個小時)並轉成struct tm類型,該類型的各數據成員分別表示年月日時分秒。 補充說明:time函數的原型也可以理解為 long time(long *tloc),即返回一個long型整數。因為在time.h這個頭文件中time_t實際上就是:
#ifndef _TIME_T_DEFINED
typedef long time_t; /* time value */
#define _TIME_T_DEFINED /* avoid multiple defines of time_t */
#endif
即long。 復制代碼
#include <stdio.h>
#include <stddef.h>
#include <time.h>
int main(void)
{
time_t timer;//time_t就是long int 類型
struct tm *tblock;
timer = time(NULL);//這一句也可以改成time(&timer);
tblock = localtime(&timer);
printf("Local time is: %s\n",asctime(tblock));
return 0;
}
復制代碼   localtime() 功 能: 把從1970-1-1零點零分到當前時間系統所偏移的秒數時間轉換為日歷時間 。 說明:此函數獲得的tm結構體的時間,是已經進行過時區轉化為本地時間。 用 法: struct tm *localtime(const time_t *clock); 返回值:返回指向tm 結構體的指針.tm結構體是time.h中定義的用於分別存儲時間的各個量(年月日等)的結構體. 需要注意的是年份加上1900,月份加上1。 復制代碼
#include<time.h>
#include<stdio.h>
int main()
{
struct tm *t;
time_t tt;
time(&tt);
t=localtime(&tt);
printf("%4d年%02d月%02d日 %02d:%02d:%02d\n",t->tm_year+1900,t->tm_mon+1,t->tm_mday,t->tm_hour,t->tm_min,t->tm_sec);
return 0;
}
復制代碼

gmtime()

頭文件:time.h 原型:struct tm *gmtime(long *clock); 功能:把日期和時間轉換為格林威治(GMT)時間的函數。將參數timep 所指的time_t 結構中的信息轉換成真實世界所使用的時間日期表示方法,然後將結果由結構tm返回。 此函數返回的時間日期未經時區轉換,而是UTC時間。 返回值 返回結構tm代表目前UTC 時間 復制代碼
#include "stdio.h"
#include "time.h"
#include "stdlib.h"
int main(void)
{
time_t t;
struct tm *gmt, *area;
tzset(); /* tzset()*/
t = time(NULL);
area = localtime(&t);
printf("Local time is: %s", asctime(area));
gmt = gmtime(&t);
printf("GMT is: %s", asctime(gmt));
return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved