_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 等效项
请参见
参考
ctime、_ctime32、_ctime64、_wctime、_wctime32、_wctime64