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
************************************************************/

相关信息