wcsftime ()- 轉換為格式化日期和時間
格式
#include <wchar.h>
size_t wcsftime(wchar_t *wdest, size_t maxsize,
const wchar_t *format, const struct tm *timeptr);語言層次
ANSI
安全執行緒
是
區分語言環境
如果在編譯指令上指定 LOCALETYPE( *LOCALE) ,則現行語言環境的 LC_CTYPE、LC_TIME 及 LC_TOD 種類可能會影響此函數的行為。 如果在編譯指令上指定 LOCALETYPE (*LOCALEUCS2) 或 LOCALETYPE (*LOCALEUTF) ,則現行語言環境的 LC_UNI_CTYPE、LC_UNI_TIME 及 LC_UNI_TOD 種類也可能影響此函數的行為。 在編譯指令上指定 LOCALETYPE (*CLD) 時,無法使用此函數。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境。
寬字元函數
如需相關資訊,請參閱 寬字元 。
說明
wcsftime() 函數會將 timeptr 結構中的時間和日期規格轉換為寬字元字串。 然後,它會根據格式所指向的格式字串,將以空值結尾的字串儲存在 wdest 所指向的陣列中。 maxsize 值指定可複製到陣列中的寬字元數上限。 此函數相當於 strftime(),但它使用寬字元。
wcsftime() 函數的運作方式與 strftime() 函數類似,但它使用寬字元。 格式字串是一個寬字元字串,包含:- 轉換-規格字元。
- 一般寬字元,未變更複製到陣列中。
此函數會使用 timeptr所指向的時間結構,如果指定元區分語言環境,則它也會使用現行語言環境的 LC_TIME 種類來決定每一個有效指定元的適當取代值。 通常透過呼叫 gmtime() 或 localtime() 函數來取得 timeptr 所指向的時間結構。
回覆值
如果結果字串中的寬字元總數 (包括結束空值寬字元) 未超出 maxsize,則 wcsftime() 會傳回置於 wdest中的寬字元數 (不包括結束空值寬字元)。 否則, wcsftime() 函數會傳回 0 ,且陣列內容不確定。
如果發生轉換錯誤, errno 可能設為 ECONVERT。
範例
此範例使用
localtime()取得日期和時間,使用 wcsftime()來格式化資訊,並列印日期和時間。#include <stdio.h>
#include <time.h>
#include <wchar.h>
int main(void)
{
struct tm *timeptr;
wchar_t dest[100];
time_t temp;
size_t rc;
temp = time(NULL);
timeptr = localtime(&temp);
rc = wcsftime(dest, sizeof(dest), L" Today is %A,"
L" %b %d.\n Time: %I:%M %p", timeptr);
printf("%d characters placed in string to make:\n\n%ls\n", rc, dest);
return 0;
/********************************************************************
The output should be similar to:
43 characters placed in string to make:
Today is Thursday, Nov 10.
Time: 04:56 PM
********************************************************************/
}相關資訊
- ctime ()-將時間轉換為字串
- ctime64()-將時間轉換為字串
- ctime64_r()-將時間轉換為字串 (可重新啟動)
- ctime_r ()-將時間轉換為字串 (可重新啟動)
- gmtime ()-轉換時間
- gmtime64()-轉換時間
- gmtime64_r()-轉換時間 (可重新啟動)
- gmtime_r ()-轉換時間 (可重新啟動)
- localtime ()-轉換時間
- localtime64()-轉換時間
- localtime64_r()-轉換時間 (可重新啟動)
- localtime_r ()-轉換時間 (可重新啟動)
- strftime ()-將日期/時間轉換成字串
- strptime ()-將字串轉換成日期/時間
- time ()-判定現行時間
- time64()-判定現行時間
- <wchar.h>