ctime、 _ctime32、 _ctime64、 _wctime、 _wctime32、 _wctime64
將時間值轉換為字串,以及調整區域的本地時間設定。 這些函式更安全版本都可使用; see ctime_s、 _ctime32_s、 _ctime64_s、 _wctime_s、 _wctime32_s、 _wctime64_s.
char *ctime(
const time_t *timer
);
char *_ctime32(
const __time32_t *timer )
;
char *_ctime64(
const __time64_t *timer )
;
wchar_t *_wctime(
const time_t *timer
);
wchar_t *_wctime32(
const __time32_t *timer
);
wchar_t *_wctime64(
const __time64_t *timer
);
參數
- timer
預存時間的指標。
傳回值
變數的指標,將字串的字元。 NULL若,即傳回:
time表示 1970 年 1 月 1 日午夜 UTC 之前的日期。
如果您使用_ctime32或_wctime32和time代表 03: 14: 07 以後 2038 年 1 月 19 日之後的日期。
如果您使用_ctime64或_wctime64和time表示 23: 59: 59,3000 年 12 月 31 UTC 之後的日期。
ctime是內嵌函式評估_ctime64 和time_t 相當於__time64_t。 如果您要強制編譯器解譯time_t 為舊的 32 位元time_t,您可以定義_USE_32BIT_TIME_T。 如此一來,這會導致ctime 估算_ctime32。 建議您不要因為您的應用程式可能會失敗之後 2038 年 1 月 18 日,而且不允許在 64 位元平台上。
備註
ctime函式將轉換的時間值儲存為 time_t 轉換為字元字串的值。 timer值通常取自呼叫時間,會傳回從午夜到現在所經過的秒數 (00: 00: 00)、 1970 年 1 月 1,國際標準時間 (UTC)。 傳回值的字串包含完全 26 個字元,其格式:
Wed Jan 02 02:03:55 1980\n\0
使用 24 小時制。 所有欄位都具有固定寬度。 新行字元 ('\n') 與 null 字元 ('\ 0') 會佔用最後兩個字串的位置。
根據當地時間的區域設定時也調整轉換後的字元字串。 請參閱time, _ftime,和本地時間如需設定當地時間的函式和 _tzset 如需詳細資訊,有關定義時區的環境和全域變數的函式。
呼叫ctime修改所使用的單一靜態配置的緩衝區gmtime和localtime函式。 每次呼叫其中一個這些常式會終結之前呼叫的結果。 ctime共用靜態緩衝區,與asctime函式。 因此,呼叫ctime會終結任何先前呼叫的結果asctime, localtime,或gmtime。
_wctime與_wctime64是寬字元版本ctime和_ctime64。 傳回為寬字元字串的指標。 Otherwise, _ctime64, _wctime, and _wctime64 behave identically to ctime.
這些函式會驗證它們的參數。 如果timer是空值的指標,或如果計時器數值為負,這些函式叫用無效的參數處理常式中,如所述參數驗證。 如果執行則允許繼續執行,則函數會傳回NULL ,並設定errno到EINVAL。
泛用文字常式對應
TCHAR。H 常式 |
_UNICODE & 未定義的 _MBCS |
定義的 _MBCS |
定義 _unicode 之後 |
---|---|---|---|
_tctime |
ctime |
ctime |
_wctime |
_tctime32 |
_ctime32 |
_ctime32 |
_wctime32 |
_tctime64 |
_ctime64 |
_ctime64 |
_wctime64 |
需求
常式 |
所需的標頭 |
---|---|
ctime |
<time.h> |
_ctime32 |
<time.h> |
_ctime64 |
<time.h> |
_wctime |
<time.h> 或者 <wchar.h> |
_wctime32 |
<time.h> 或者 <wchar.h> |
_wctime64 |
<time.h> 或者 <wchar.h> |
其他的相容性資訊,請參閱相容性在簡介中。
範例
// crt_ctime64.c
// compile with: /W3
/* This program gets the current
* time in _time64_t form, then uses ctime to
* display the time in string form.
*/
#include <time.h>
#include <stdio.h>
int main( void )
{
__time64_t ltime;
_time64( <ime );
printf( "The time is %s\n", _ctime64( <ime ) ); // C4996
// Note: _ctime64 is deprecated; consider using _ctime64_s
}
.NET Framework 對等用法
請參閱
參考
ctime_s、 _ctime32_s、 _ctime64_s、 _wctime_s、 _wctime32_s、 _wctime64_s