gmtime,_gmtime32 _gmtime64
將時間值轉換成結構。 這些函式更安全版本都可使用; see gmtime_s,_gmtime32_s _gmtime64_s.
struct tm *gmtime(
const time_t *timer
);
struct tm *_gmtime32(
const time32_t *timer
);
struct tm *_gmtime64(
const __time64_t *timer
);
參數
- timer
預存時間的指標。 因為從午夜到現在所經過的秒數表示的時間 (00: 00: 00)、 1970 年 1 月 1,國際標準時間 (UTC)。
傳回值
傳回型別的結構的指標 tm。 傳回結構的欄位儲存的評估的值的timer utc 而言,而不是以當地時間的引數。 每個結構欄位屬於型別int、,如下所示:
tm_sec
分鐘後的秒數 (0 – 59)。tm_min
整點小時之後的分鐘 (0 – 59)。tm_hour
自午夜算起的時數 (0-23)。tm_mday
日期的月份 (1 – 31)。tm_mon
月份 (0 – 11。 年 1 月 = 0)。tm_year
年份 (目前年份減 1900年)。tm_wday
星期幾 (0 – 6。 星期日 = 0)。tm_yday
年中的日 (0 – 365。 1 月 1 日 = 0)。tm_isdst
通常為 0 的gmtime。
這兩個 32 位元與 64 位元版本的gmtime, mktime, mkgmtime,以及localtime所有使用單一tm每個執行緒要轉換的結構。 每次呼叫一個函式會終結任何先前的呼叫的結果。 如果timer表示 1970 年 1 月 1 日,午夜以前的日期gmtime會傳回NULL。 沒有任何錯誤傳回。
_gmtime64使用__time64_t結構,可讓 23: 59: 59 之間,3000 年 12 月 31,成為 UTC,最多能表示的日期,而_gmtime32只能代表透過 03: 14: 07 以後 2038 年 1 月 19 日,UTC 日期。 午夜 1970 年 1 月 1 日,會為這些函式之日期範圍的下限。
gmtime是內嵌函式評估_gmtime64和time_t相當於__time64_t。 如果您要強制編譯器解譯time_t為舊的 32 位元time_t,您可以定義_USE_32BIT_TIME_T。 如此一來,這會導致gmtime是在-分行, _gmtime32。 建議您不要因為您的應用程式可能會失敗之後 2038 年 1 月 18 日,而且不允許在 64 位元平台上。
這些函式驗證他們的參數。 如果timer是空值的指標,或如果計時器值為負數,這些函式叫用無效的參數處理常式中所述參數驗證。 如果執行則允許繼續執行,則函數會傳回NULL ,並設定errno到EINVAL。
備註
_gmtime32函式會分解, timer值,並將它存放在靜態配置結構的型別tm,已定義的時間。H. 值為timer通常取自呼叫time函式。
注意事項 |
---|
目標環境應該嘗試判斷是否日光節約時間生效。C 執行階段程式庫會假設執行計算的日光節約時間 (DST) 的美國規則。 |
需求
常式 |
所需的標頭 |
---|---|
gmtime |
<time.h> |
_gmtime32 |
<time.h> |
_gmtime64 |
<time.h> |
其他的相容性資訊,請參閱相容性在簡介中。
範例
// crt_gmtime.c
// compile with: /W3
// This program uses _gmtime64 to convert a long-
// integer representation of coordinated universal time
// to a structure named newtime, then uses asctime to
// convert this structure to an output string.
#include <time.h>
#include <stdio.h>
int main( void )
{
struct tm *newtime;
__int64 ltime;
char buff[80];
_time64( <ime );
// Obtain coordinated universal time:
newtime = _gmtime64( <ime ); // C4996
// Note: _gmtime64 is deprecated; consider using _gmtime64_s
asctime_s( buff, sizeof(buff), newtime );
printf( "Coordinated universal time is %s\n", buff );
}
.NET Framework 對等用法
請參閱
參考
ctime、 _ctime32、 _ctime64、 _wctime、 _wctime32、 _wctime64
gmtime_s,_gmtime32_s _gmtime64_s
localtime,_localtime32 _localtime64