C++ 参考手册
- C++11
- C++14
- C++17
- C++20
- C++ 编译器支持情况表
- 独立与宿主实现
- C++ 语言
- C++ 关键词
- 预处理器
- C++ 标准库头文件
- 具名要求
- 功能特性测试 (C++20)
- 工具库
- 类型支持(基本类型、RTTI、类型特性)
- 概念库 (C++20)
- 错误处理
- 动态内存管理
- 日期和时间工具
- std::chrono::duration
- std::chrono::time_point
- C 日期和时间工具
- std::clock
- std::clock_t
- std::asctime
- std::timespec_get
- std::time
- std::localtime
- std::mktime
- std::wcsftime
- std::gmtime
- CLOCKS_PER_SEC
- std::time_t
- std::tm
- std::timespec
- std::difftime
- std::ctime
- std::strftime
- std::chrono::clock_cast
- std::chrono::is_am, std::chrono::is_pm, std::chrono::make12, std::chrono::make24
- std::chrono::system_clock
- std::chrono::steady_clock
- std::chrono::high_resolution_clock
- std::chrono::clock_time_conversion
- std::chrono::is_clock
- std::chrono::utc_clock
- std::chrono::tai_clock
- std::chrono::gps_clock
- std::chrono::file_clock
- std::chrono::local_t
- std::chrono::day
- std::chrono::month
- std::chrono::year
- std::chrono::weekday
- std::chrono::operator/ (日历)
- std::chrono::year_month_day
- std::chrono::year_month_day_last
- std::chrono::year_month_weekday
- std::chrono::year_month_weekday_last
- std::chrono::weekday_indexed
- std::chrono::weekday_last
- std::chrono::month_day
- std::chrono::month_day_last
- std::chrono::month_weekday
- std::chrono::month_weekday_last
- std::chrono::year_month
- std::chrono::tzdb
- std::chrono::tzdb_list
- std::chrono::get_tzdb_list, std::chrono::get_tzdb, std::chrono::remote_version, std::chrono::reload_tzdb
- std::chrono::time_zone
- std::chrono::locate_zone
- std::chrono::current_zone
- std::chrono::zoned_time
- std::chrono::time_zone_link
- std::chrono::leap_second
- std::chrono::time_of_day
- std::chrono::last_spec
- std::chrono::treat_as_floating_point
- std::literals::chrono_literals::operator""ns
- std::literals::chrono_literals::operator""y
- std::literals::chrono_literals::operator""d
- std::literals::chrono_literals::operator""s
- std::literals::chrono_literals::operator""ms
- std::literals::chrono_literals::operator""us
- std::literals::chrono_literals::operator""h
- std::literals::chrono_literals::operator""min
- std::chrono::duration_values
- std::chrono::nonexistent_local_time
- std::chrono::ambiguous_local_time
- 注释
- 字符串库
- 容器库
- 迭代器库
- 范围库 (C++20)
- 算法库
- 数值库
- 输入/输出库
- 文件系统库
- 本地化库
- 正则表达式库
- 原子操作库
- 线程支持库
- 实验性 C++ 特性
- 有用的资源
- 索引
- std 符号索引
- 协程支持 (C++20)
- C++ 关键词
std::asctime
定义于头文件 <ctime>
|
||
char* asctime( const std::tm* time_ptr ); |
||
转换给定日历时间 std::tm 为拥有下列固定 25 字符形式的文本表示: Www Mmm dd hh:mm:ss yyyy\n
Www
——星期之日的三字母英文缩写,来自 time_ptr->tm_wday ,为Mon
、Tue
、Wed
、Thu
、Fri
、Sat
、Sun
之一。Mmm
——月名的三字母英文缩写,来自 time_ptr->tm_mon ,为Jan
、Feb
、Mar
、Apr
、May
、Jun
、Jul
、Aug
、Sep
、Oct
、Nov
、Dec
之一。dd
—— 2 位数月之日 ,来自 timeptr->tm_mday ,如同 sprintf 用 %2d 打印hh
—— 2 位小时,来自 timeptr->tm_hour ,如同 sprintf 用 %.2d 打印mm
—— 2 位分,来自 timeptr->tm_min ,如同 sprintf 用 %.2d 打印ss
—— 2 位秒,来自 timeptr->tm_sec ,如同 sprintf 用 %.2d 打印yyyy
—— 4 位年,来自 timeptr->tm_year + 1900 ,如同 sprintf 用 %4d 打印
若 *time_ptr 的任何成员在其正常范围外,则行为未定义。
若 time_ptr->tm_year 所指示的日历年份多于 4 位数字或小于 1000 年,则行为未定义。
函数不支持本地化,而写不能移除换行符。
函数修改静态存储,而且不是线程安全的。
参数
time_ptr | - | 指向指定要打印时间的 std::tm 对象的指针 |
返回值
指向空终止字符串的指针,字符串保有日期和时间的文本表示。字符串可能在 std::asctime
与 std::ctime 之间共享,而且可能在每次调用任何这些函数时被重写。
注意
此函数返回指向静态数据的指针,且非线程安全。 POSIX 标记此函数为过时,并推荐使用 std::strftime 替代。
POSIX 限制了仅当输出字符串将长于 25 字符时、 timeptr->tm_wday
或 timeptr->tm_mon
不在预期范围时,或 timeptr->tm_year
超过 INT_MAX-1990 时是未定义行为。
一些实现把 timeptr->tm_mday==0 处理成上个月最后一天的含义。
示例
运行此代码
#include <ctime> #include <iostream> int main() { std::time_t result = std::time(NULL); std::cout << std::asctime(std::localtime(&result)); }
输出:
Mon Apr 3 20:26:26 2017
参阅
转换 time_t 对象为文本表示 (函数) | |
转换 tm 对象到自定义的文本表示 (函数) | |
(C++11) |
按照指定格式格式化并输出日期/时间值 (函数模板) |