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 (*LOCALELEUTF) ,那么此函数的行为也可能受到当前语言环境的 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>