wcsptime ()- 将宽字符串转换为日期/时间
格式
#include <wchar.h>
wchar_t *wcsptime(const wchar_t *buf, const wchar_t *format, struct tm *tm);语言级别
扩展
线程安全
是
语言环境敏感
此函数的行为可能受当前语言环境的 LC_UNI_CTYPE , LC_UNI_TIME 和 LC_UNI_TOD 类别影响。 仅当在编译命令上指定了 LOCALETYPE (*LOCALEUTF) 时,此功能才可用。 有关更多信息,请参阅 了解 CCSID 和语言环境。
宽字符函数
有关更多信息,请参阅 宽字符 。
描述
wcsptime() 函数使用 format指定的格式将 buf 指向的宽字符串转换为 tm指向的 tm 结构中存储的值。 此函数等同于 strptime(),只是它使用宽字符。
请参阅 strptime ()-将字符串转换为日期/时间 以获取格式字符串的描述。
返回值
成功完成时, wcsptime() 函数将返回一个指针,该指针指向解析的最后一个宽字符之后的字符。 否则,将返回空指针。 errno 的值可以设置为 ECONVERT (转换错误)。
示例
#include <stdio.h>
#include <time.h>
#include <wchar.h>
int main(void)
{
wchar_t buf[100];
time_t t;
struct tm *timeptr,result;
t = time(NULL);
timeptr = localtime(&t);
wcsftime(buf, 100, L"%a %m/%d/%Y %r", timeptr);
if (wcsptime(buf, L"%a %m/%d/%Y %r", &result) == NULL)
printf("\nwcsptime failed\n");
else
{
printf("tm_hour: %d\n",result.tm_hour);
printf("tm_min: %d\n",result.tm_min);
printf("tm_sec: %d\n",result.tm_sec);
printf("tm_mon: %d\n",result.tm_mon);
printf("tm_mday: %d\n",result.tm_mday);
printf("tm_year: %d\n",result.tm_year);
printf("tm_yday: %d\n",result.tm_yday);
printf("tm_wday: %d\n",result.tm_wday);
}
return 0;
}
/************************************************************
The output should be similar to:
tm_hour: 14
tm_min: 25
tm_sec: 34
tm_mon: 7
tm_mday: 19
tm_year: 103
tm_yday: 230
tm_wday: 2
************************************************************/相关信息
- asctime ()-将时间转换为字符串
- asctime_r ()-将时间转换为字符串 (可重新启动)
- ctime ()-将时间转换为字符串
- ctime64()-将时间转换为字符串
- ctime64_r()-将时间转换为字符串 (可重新启动)
- ctime_r ()-将时间转换为字符串 (可重新启动)
- gmtime ()-转换时间
- gmtime64()-转换时间
- gmtime64_r()-转换时间 (可重新启动)
- gmtime_r ()-转换时间 (可重新启动)
- localtime ()-转换时间
- localtime64()-转换时间
- localtime64_r()-转换时间 (可重新启动)
- localtime_r ()-转换时间 (可重新启动)
- setlocale ()-设置语言环境
- strftime ()-将日期/时间转换为字符串
- strptime ()-将字符串转换为日期/时间
- time ()-确定当前时间
- time64()-确定当前时间
- <time.h>