_strdate、_wstrdate

复制当前系统日期到缓冲区。 提供这些函数的更多安全版本;请参见 _strdate_s、_wstrdate_s

char *_strdate(
   char *datestr 
);
wchar_t *_wstrdate(
   wchar_t *datestr 
);
template <size_t size>
char *_strdate(
   char (&datestr)[size]
); // C++ only
template <size_t size>
wchar_t *_wstrdate(
   wchar_t (&datestr)[size]
); // C++ only

参数

  • datestr
    对包含格式化的日期字符串的缓冲区的指针。

返回值

这些函数均返回指向结果字符串datestr的指针。

备注

提供这些函数的更多安全版本;请参见 _strdate_s, _wstrdate_s。 建议在可能的情况下使用更安全的函数。

_strdate 函数复制当前系统日期到缓冲区由 datestr指向,格式的 mm/dd/yy,其中 mm 是将月份表示的两个数字中,dd 是表示一日的,两位数字,并且 yy 为年的前两个数字。 例如,字符串 12/05/99 表示 1999 年 12 月 5 日。 缓冲区长度必须至少为 9 个字符。

如果 datestr 是一个 NULL 指针,无效参数处理程序将按 参数验证 中所述进行调用。 如果允许执行继续,则这些函数返回 -1 并将 errno 设置为 EINVAL。

_wsetlocale_wstrdate 是 _strdate 的宽字符版本,_wstrdate 参数和 的返回值都是宽字符字符串。 否则这些函数具有相同行为。

在 C++ 中,这些函数具有模板重载,以调用这些函数的更新、更安全副本。 有关更多信息,请参见安全模板重载

一般文本例程映射

TCHAR.H 例程

_UNICODE & _MBCS not defined

已定义 _MBCS

已定义 _UNICODE

_tstrdate

_strdate

_strdate

_wstrdate

要求

例程

必需的标头

_strdate

<time.h>

_wstrdate

<time.h> or <wchar.h>

有关其他兼容性信息,请参见“简介”中的兼容性

示例

// strdate.c
// compile with: /W3
#include <time.h>
#include <stdio.h>
int main()
{
    char tmpbuf[9];
   
    // Set time zone from TZ environment variable. If TZ is not set,
    // the operating system is queried to obtain the default value 
    // for the variable. 
    //
    _tzset();

    printf( "OS date: %s\n", _strdate(tmpbuf) ); // C4996
    // Note: _strdate is deprecated; consider using _strdate_s instead
}
  

.NET Framework 等效项

System::DateTime::Parse

请参见

参考

时间管理

asctime、_wasctime

ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64

gmtime、_gmtime32、_gmtime64

localtime、_localtime32、_localtime64

mktime、_mktime32、_mktime64

time、_time32、_time64

_tzset