共用方式為


ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64

轉換時間值成字串並為當地時區調整。 這些函式已有更安全的版本可用,請參閱 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 代表在 1 月 19 日 2038 年 03:14:07 之後的日期。

  • 如果您使用 _ctime64 或 _wctime64 和 time 代表在 12 月 31 日 3000 年 23:59:59 之後的日期。

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 值通常取自對 時間 的呼叫,傳回本地時間1970 年 1 月 1 日午夜算起的秒數 (00:00: 00),Coordinated Universal Time (UTC)。 傳回值字串完全包含 26 個字元且具有表單:

Wed Jan 02 02:03:55 1980\n\0

使用 24 小時制。 所有欄位具有相同的寬度。 新行字元('\n')和 null 字元(\0'')佔用字串的最後位置。

要轉換的字元字串也會根據當地時區設定調整。 如需定義時區環境和全域變數的詳細資訊,請參閱 time、 _ftimelocaltime 函式會配置於本地時間和 _tzset 函式的相關資訊。

呼叫 ctime 的方式修改單一靜態配置的 gmtime 和 localtime 函式所使用的緩衝區。 每個呼叫這些常式都會終結之前呼叫的結果。 ctime 與 asctime 函式共用一個靜態緩衝區。 因此,呼叫 ctime 的方式終結之前呼叫的結果為 asctime、 localtime或 gmtime。

_wctime 和 _wctime64 是 ctime 和 _ctime64 的寬字元版本,傳回寬字元字串的指標。 否則 _ctime64 和、 _wctime 和 _wctime64 與 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> or <wchar.h>

_wctime32

<time.h> or <wchar.h>

_wctime64

<time.h> or <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( &ltime );
   printf( "The time is %s\n", _ctime64( &ltime ) ); // C4996
   // Note: _ctime64 is deprecated; consider using _ctime64_s
}
  

.NET Framework 對等用法

請參閱

參考

時間管理

asctime、_wasctime

ctime_s、_ctime32_s、_ctime64_s、_wctime_s、_wctime32_s、_wctime64_s

_ftime、_ftime32、_ftime64

gmtime、_gmtime32、_gmtime64

localtime、_localtime32、_localtime64

time、_time32、_time64