C++格式化输出时间

前言

        使用time函数tm结构体local函数put_time函数实现格式化输出时间。

形如[2024-06-14 18:19:14]


格式化时间代码实现

void Print_Time()
{// 获取当前时间戳time_t now_time = time(nullptr);// 将time_t 转换为tm结构std::tm* local = localtime(&now_time);// 格式化输出当前时间std::cout << std::put_time(local, "%Y-%m-%d %H:%M:%S") << " ";
}
int main()
{Print_Time();return 0;
}

输出结果如下

2024-06-14 20:30:05


time函数

原型:time_t time(time_t *tloc);

头文件:<ctime>

返回值:当前时间的时间戳

参数:这是一个指向 time_t 类型对象的指针。如果此参数不为空(即不是nullptrNULL),则函数会将当前时间存储在这个对象中。如果此参数为空,则函数会忽略它。


struct tm结构体

struct tm
{int tm_sec;   // 秒数 - [0, 60] 包含闰秒int tm_min;   // 分钟数 - [0, 59]int tm_hour;  // 小时(24小时制) - [0, 23]int tm_mday;  // 一个月中的日期 - [1, 31]int tm_mon;   // 月份 - [0, 11]int tm_year;  //  从1900开始算的年份int tm_wday;  // 星期几 0表示周日 - [0, 6]int tm_yday;  // 一年中的第几天 - [0, 365]int tm_isdst; // 夏令时标识符
};

localtime函数

原型:struct tm *localtime(const time_t *timep);
头文件:<ctime>

返回值:函数返回一个指向 tm 结构体的指针,该结构体包含了本地时间的详细信息(日期、时间等)。如果函数失败,它将返回空指针(nullptr)。

参数:这是一个指向 time_t 类型对象的指针,该对象包含了一个以秒为单位的时间戳。


put_time函数

原型

        template <class charT>

        put_time( const struct tm* tmb, const charT* fmt);

头文件:<iomanip>

功能:用于格式化输出 tm 类型的数据。

返回值:函数返回对输入流os的引用,以便进行链式调用。

参数功能
const struct tm* tmb存取着待格式化输出的时间数据
const charT* fmt一个 C 风格的字符串,指定了日期和时间的格式。这个字符串可以包含多种格式说明符

格式说明符

%a缩写的星期几名称(如Sun)。
%A完整的星期几名称(如Sunday)。
%b缩写的月份名称(如Jan)。
%B完整的月份名称(如January)。
%c日期和时间的完整表示(如Wed Jun 30 21:49:08 2023\n\t)。
%C年份除以100的整数部分(如20表示2000-2099)。
%d一个月中的第几天(01-31)。
%D等同于%m/%d/%y。
%e一个月中的第几天(1-31),前面没有前导零。
%F等同于%Y-%m-%d(ISO 8601日期格式)。
%g与%G相同,但不包含世纪。
%G基于ISO 8601的年份(四位数)。
%h等同于%b。
%H小时(00-23)。
%I小时(01-12)。
%j一年中的第几天(001-366)。
%m月份(01-12)。
%M分钟(00-59)。
%n换行符。
%pAM或PM(用于12小时制)。
%r12小时制的时间表示(如11:11:04 PM)。
%R等同于%H:%M。
%S秒(00-60)。
%t水平制表符。
%T等同于%H:%M:%S。
%u星期几(1-7),1表示星期一,7表示星期天(与POSIX的%u不同)。
%U一年中的第几周,星期天作为一周的第一天(00-53)。
%VISO 8601的一年中的第几周(01-53)
%w星期几(0-6),0表示星期天。
%W一年中的第几周,星期一作为一周的第一天(00-53)。
%x日期表示(如06/30/2023)。
%X时间表示(如21:49:08)。
%y年份的最后两位(00-99)。
%Y年份(四位数)。
%%输出%字符。

感谢阅读

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/27233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日常销售数据分析为什么重要?三个维度全面分析日常销售数据

在当今电子商务的浪潮席卷全球的时代&#xff0c;网店如雨后春笋般涌现&#xff0c;并且竞争日趋激烈。在这样一个充满挑战与机遇的环境中&#xff0c;如何洞察市场动向&#xff0c;把握消费者需求&#xff0c;实现销售业绩的稳步增长&#xff0c;成为每一位电商运营者必须面对…

查看ubuntu中的分区是什么类型的

sudo file -sL /dev/sda1#输出 /dev/sda1: Linux rev 1.0 ext4 filesystem data ...使用 lsblk 或 fdisk 列出所有分区&#xff0c;确认你需要恢复文件的分区路径。 lsblksudo fdisk -l输出会显示所有磁盘和分区信息。确保你选择了正确的分区。例如&#xff1a; /dev/sda1 2…

【YOLOv8改进[注意力]】在YOLOv8中添加GAM注意力 + 含全部代码和详细修改方式 + 手撕结构图

本文将进行在YOLOv8中添加GAM注意力的实践,助力YOLOv8目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法,实现有效涨点。 改进前和改进后的参数对比: 目录 一 GAM 二 在YOLOv8中添加GAM注意力 1 整体修改 2 配置文件

M41T11M6F串行实时时钟-国产兼容RS4C411

RS4C411是一款低功耗串行实时时钟&#xff08;RTC&#xff09;&#xff0c;具有56字节的NVRAM。内置32.768 kHz振荡器&#xff08;外部晶体控制&#xff09;和RAM的前8字节用于时钟/日历功能&#xff0c;并以二进制编码十进制&#xff08;BCD&#xff09;格式配置。地址和数据通…

MacOS下如何使用Tomcat

提示&#xff1a;宝子们&#xff0c;希望文章对你们有所帮助&#xff0c; 请一键三连支持博主下吧&#xff5e; 文章目录 前言一、Tomcat 压缩版二、Tomcat可执行文件版本最后 前言 电脑环境&#xff1a; MacOS Monterey 版本 12.6.8 Apple M1 Tomcat 9.0.83 Java 1.8.0_171 …

【机器学习】使用BART技术自动提取文章内容摘要

1. 引言 1.1 认识BART 人工智能中的BART是一个预训练的序列到序列模型&#xff0c;全称为“Bidirectional and Auto-Regressive Transformers”&#xff0c;即“兼有双向语言建模和自回归机制的Transformer”&#xff1a; 模型架构&#xff1a; - BART继承了Transformer的标准…

UHF和VHF的区别

UHF和VHF的区别 众所周知&#xff1a;UHF和VHF都是频段的名称&#xff0c;他们分别代表着不同的频段&#xff0c;UHF代表超高频&#xff08;300MHz ~3GHz&#xff09;&#xff0c;VHF(30MHz ~ 300MHz&#xff09;代表甚高频&#xff1b; 1、频率范围不同 UHF代表超高频&#x…

滚珠丝杆与梯形丝杆的工作原理与性能差异!

滚珠丝杆和梯形丝杆&#xff08;也称滑动丝杆&#xff09;都是机械设备中常见的两种精密传动元件&#xff0c;两者都是将旋转运动变成直线运动的方式。那么&#xff0c;这两者有什么区别呢&#xff1f;在什么时候选择使用滚珠丝杆&#xff1f;什么时候选用滑动丝杆呢&#xff1…

Petalinux由于网络原因产生的编译错误(3)-qemu-xilinx-system-native 失败

1 获取qemu-xilinx-system-native 失败 编译时遇到qemu-xilinx-system-native 包获取失败&#xff0c;如下图所示&#xff1a; 解决这种错误方法如下&#xff1a; 进入Petalinux 工程&#xff0c;编辑工程下的 project-spec/meta-user/conf/petalinuxbsp.conf 文件&#xff0…

CorelDRAW2024专业版永久免费激活码序列号分享大全

亲爱的设计师们&#xff0c;你们是否有过这样的困扰&#xff1a;想要设计出独具特色的图形作品&#xff0c;但又受限于软件的功能和操作复杂性&#xff1f;今天&#xff0c;我要为大家种草一款神器——CorelDRAW 2024&#xff01;&#x1f389;✨ 作为一个长期使用这款软件的图…

并发、多线程、HTTP连接数有何关系?

在计算机领域&#xff0c;"并发"、"多线程"和"HTTP连接数"是三个重要的概念&#xff0c;它们之间存在着密切的关系。本文将探讨这三者之间的联系以及它们在现代计算机系统中的作用。 一、并发的概念 并发是指系统能够同时处理多个任务或事件的能…

英语学习笔记35——Our village

Our village 我们的村庄 词汇 Vocabulary photograph n. 照片 通常说&#xff1a;photo 复数&#xff1a;photos     picture 复数&#xff1a;pictures 搭配&#xff1a;take a photo 照相 以o结尾的单词复数es的&#xff1a; potato —— potatoes tomato —— tomatoe…

TCP三次握手和四次挥手过程简介(抓包分析,简单易懂,小白)

接上篇 传输层部分 链路层、网络层、传输层和应用层协议详解分析-CSDN博客文章浏览阅读689次&#xff0c;点赞10次&#xff0c;收藏15次。wireshark抓包分析-CSDN博客wireshark是网络包分析工具网络包分析工具的主要作用是尝试捕获网络包&#xff0c;并尝试显示包的尽可能详细…

Selective Kernel Networks(CVPR-2019)

摘要 提出了一种动态选择机制&#xff0c;允许每个神经元根据输入信息的多个尺度自适应调整感受野大小。设计了一种称为选择核&#xff08;SK&#xff09;单元的结构块&#xff0c;利用softmax attention 对不同核大小的多个分支进行融合。对这些分支的不同attention产生融合层…

yolov10主要特点

在我们探讨YOLOv10之前&#xff0c;让我们回顾一下YOLO的发展历程。YOLO在实时目标检测领域一直是先驱&#xff0c;兼顾速度和准确性。从YOLOv1到YOLOv9&#xff0c;每个版本在架构、优化和数据增强方面都引入了显著的改进。然而&#xff0c;随着模型的发展&#xff0c;某些限制…

磁盘管理 磁盘介绍 MBR

track&#xff1a;磁道&#xff0c;就是磁盘上同心圆&#xff0c;从外向里&#xff0c;依次1号、2号磁道..... sector&#xff1a;扇区&#xff0c;将磁盘分成一个一个扇形区域&#xff0c;每个扇区大小是512字节&#xff0c;从外向里&#xff0c;依次是1号扇区、2号扇区... cy…

你真的了解java线程中断吗?

前言 java.lang.Thread类有一个 interrupt 方法&#xff0c;该方法直接对线程调用。当被interrupt的线程正在sleep或wait时&#xff0c;会抛出 InterruptedException 异常。事实上&#xff0c; interrupt 方法只是改变目标线程的中断状态&#xff08;interrupt status&#xf…

【Python】Flask问答系统Demo项目

学习视频 我是跟着知了传课学的Flask&#xff0c;起初了解Flask还是GPT告诉我的&#xff0c;现在可以说用Flask做后端是真的方便&#xff01; https://www.bilibili.com/video/BV17r4y1y7jJ 项目结构与下载 FlaskOA&#xff08;项目文件夹&#xff09; │ app.py │ conf…

web前端黑马下载:探索学习资源的海洋

web前端黑马下载&#xff1a;探索学习资源的海洋 在数字化时代&#xff0c;Web前端技术日益成为互联网行业的核心驱动力。为了跟上这一趋势&#xff0c;众多学习者纷纷投身于Web前端的学习之中。而在这个过程中&#xff0c;“黑马”作为一个备受瞩目的品牌&#xff0c;其Web前…

docker镜像被墙,docker镜像拉不下来 docker镜像拉取失败 如何拉取docker镜像 docker镜像无法提供拉取服务怎么办?最新拉取镜像方式

1. 推荐github仓库提出得解决方案&#xff0c;且每日在更新&#xff1a; https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6 2. 我是如何解决的&#xff1a; 用阿里云提供给每个人的镜像&#xff0c;即可解决拉取镜像问题&#xff01;&#xff01;&#xff0…