時間管理
您可以使用這些函式取得目前的時間,以及在必要時轉換、調整及儲存該時間。 目前的時間為系統時間。
_ftime
與 localtime
常式會使用 TZ
環境變數。 如果未 TZ
設定,運行時間連結庫會嘗試使用操作系統所指定的時區資訊。 若此資訊無法使用,這些函式會使用預設值 PST8PDT。 如需 的詳細資訊TZ
,請參閱 _tzset
;另請參閱_daylight
、 timezone
和 _tzname
。
時間例程
函式 | 使用 |
---|---|
asctime 、 、 _wasctime 、 asctime_s _wasctime_s |
將時間從類型 struct tm 轉換為字元字串 這些具有 _s 尾碼的函式版本比較安全。 |
clock |
傳回處理序的耗用時鐘時間。 |
ctime 、_ctime32 、_ctime64 、_wctime 、_wctime32 、_wctime64 、_ctime_s _ctime64_s _ctime32_s 、_wctime_s 、、、 _wctime32_s _wctime64_s |
將時間從類型 time_t 、 __time32_t 或 __time64_t 轉換為字元字串。 這些具有 _s 尾碼的函式版本比較安全。 |
difftime 、 、 _difftime32 _difftime64 |
計算兩個時間之間的差異。 |
_ftime 、_ftime32 、_ftime64 _ftime_s 、_ftime64_s _ftime32_s |
將目前的系統時間儲存在類型 struct _timeb 或類型 struct __timeb64 這些具有 _s 尾碼的變數版本比較安全。 |
_futime 、 、 _futime32 _futime64 |
對開啟的檔案上設定修改時間 |
gmtime 、、_gmtime32 _gmtime64 、gmtime_s 、、、 _gmtime32_s _gmtime64_s |
將時間從類型 time_t 轉換為 struct tm 或從 類型 __time64_t 轉換為 struct tm 。 這些具有 _s 尾碼的函式版本比較安全。 |
localtime 、、_localtime32 _localtime64 、localtime_s 、、、 _localtime32_s _localtime64_s |
將時間從類型 time_t 轉換為 struct tm ,或從類型 __time64_t 轉換為經過本機校正的 struct tm 。 這些具有 _s 尾碼的函式版本比較安全。 |
_mkgmtime 、 、 _mkgmtime32 _mkgmtime64 |
將時間轉換為格林威治標準時間的月曆值。 |
mktime 、 、 _mktime32 _mktime64 |
將時間轉換為月曆值。 |
_strdate 、 、 _wstrdate 、 _strdate_s _wstrdate_s |
以字串形式傳回目前的系統日期。 這些具有 _s 尾碼的函式版本比較安全。 |
strftime 、 、 wcsftime 、 _strftime_l _wcsftime_l |
將日期與時間字串格式化成國際通用的格式。 |
_strtime 、 、 _wstrtime 、 _strtime_s _wstrtime_s |
以字串形式傳回目前的系統時間。 這些具有 _s 尾碼的函式版本比較安全。 |
time 、 、 _time32 _time64 |
取得目前的系統時間,類型為 time_t 、 __time32_t 或 __time64_t 。 |
_tzset |
從環境時間變數 TZ 設定外部時間變數 。 |
_utime 、、_utime32 _utime64 、_wutime 、、_wutime32 、_wutime64 |
使用目前的時間或結構中儲存的時間值,為指定的檔案設定修改時間。 |
注意
在所有的 Microsoft C/C++ 版本 (Microsoft C/C++ 7.0 版除外) 與所有的 Visual C++ 版本中,時間函式會傳回自 1970 年 1 月 1 日午夜起算所經過的秒數作為目前的時間。 在 Microsoft C/C++ 7.0 版中,time
會傳回自 1899 年 12 月 31 日午夜起算所經過的秒數作為目前的時間。
注意
在 Visual Studio 2005 之前的 Visual C++ 和 Microsoft C/C++ 版本中, time_t
是一個 long int
(32 位),因此無法用於 2038 年 1 月 19 日 3:14:07 的日期。 現在 time_t
預設等同於 __time64_t
,但定義 _USE_32BIT_TIME_T
會將 time_t
變更為 __time32_t
並強制許多時間函式呼叫接受 32 位元 time_t
的版本。 如需詳細資訊,請參閱 個別時間函式檔中的標準類型和 批注。