#include <chrono>
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
inline std::string ToString(const std::chrono::system_clock::time_point &tp)
{
std::time_t time = std::chrono::system_clock::to_time_t(tp);
// std::string ts = std::ctime(&t);
// ts.resize(ts.size() - 1);
// return ts;
// std::tm *tm = std::gmtime(&time);
std::tm *tm = std::localtime(&time);
std::stringstream sstream;
sstream << std::put_time(tm, "%F %T");
return sstream.str();
}
inline std::chrono::system_clock::time_point MakeTimePoint(
int year, int month, int day,
int hour = 0, int minute = 0, int second = 0)
{
struct std::tm t;
t.tm_year = year - 1900;
t.tm_mon = month - 1;
t.tm_mday = day;
t.tm_hour = hour;
t.tm_min = minute;
t.tm_sec = second;
t.tm_isdst = -1;
std::time_t tt = std::mktime(&t);
if (tt == -1)
{
std::stringstream sstream;
sstream << "Invalid system time(std::tm.tm_isdst = ";
sstream << t.tm_isdst;
sstream << ")";
throw sstream.str();
}
return std::chrono::system_clock::from_time_t(tt);
}
int main()
{
try
{
auto tp1 = MakeTimePoint(2010, 1, 1);
std::cout << ToString(tp1) << std::endl;
auto tp2 = MakeTimePoint(2011, 5, 23, 13, 44);
std::cout << ToString(tp2) << std::endl;
auto now = std::chrono::system_clock::now();
std::cout << ToString(now) << std::endl;
}
catch (std::string str)
{
std::cerr << str << std::endl;
}
}
相关推荐
Android系统时间管理与修改指南
时间是衡量事件持续性和顺序性的物理量。在计算机科学中,时间戳通常指从一个特定起始时间点(如Unix纪元,即1970年1月1日00:00:00 UTC)开始计算的秒数或毫秒数。计算机通过系统时钟来维持当前的时间戳,不同的系统可能使用不同的起始点和精度。Python的datetime模块提供了处理日期和时间的丰富功能。它主要由以下几个类组成:datetimedatetimetimedelta以及tzinfo。这些类可以帮助我们获取当前时间,格式化时间数据,处理时区问题等。在使用。
C++ 时间
精确到秒的 std::time 为了获得系统当前时间,目前 C++ 标准库里面给出的方法是 std::time,它返回的结构体是 std::time_t。这个方法很方便很通用,但它有一些局限: 它是精确到秒的。如果您需要更高精度的时间,比如说您需要精确到毫秒,那么它不合适。 它表示从 Epoch (1970年1月1日00:00:00)到现在所经过的秒数。最初 std::time_t 的定义是 ...
DSP28335与Vofa+上位机通信实战:SCIb配置避坑指南(附完整代码)
本文提供DSP28335与Vofa+上位机通信的实战指南,重点解析SCIb模块配置的常见问题与解决方案。针对研旭开发板的硬件连接、波特率精确计算、FIFO高效使用以及FireWater协议封装进行了详细说明,并附有完整代码,帮助开发者快速实现实时数据可视化与波形分析,提升调试效率。
C++ 时间和日期
文章目录ctimestd::timestd::localtimestd::gmtimestd::asctimestd::ctimestd::strftimechronostd::ratiostd::chrono::durationstd::chrono::duration_caststd::chrono::time_pointstd::chrono::system_clockstd::chrono::steady_clock C++提供日期和时间相关的实现,分为C风格和C++风格。 C风格的提供了获取当前
FT2232HL JTAG下载器硬件设计指南:从引脚配置到电平转换实战
本文详细解析了FT2232HL JTAG下载器的硬件设计要点,包括引脚配置、电平转换电路设计及EEPROM配置技巧。通过实战案例展示如何利用FT2232HL实现高速JTAG通信,解决电平不匹配等常见问题,提升嵌入式开发效率。特别适合需要灵活JTAG接口的硬件工程师参考。
CAPL实战:从零构建HEX文件解析器,赋能UDS刷写
本文详细介绍了如何使用CAPL从零构建HEX文件解析器,以支持UDS刷写操作。通过解析HEX文件格式、设计状态机、优化数据结构与算法,实现高效准确的固件数据处理,并提供了与UDS刷写流程对接的工程化实践建议。
C风格获取时间函数
头文件 #include <ctime> 类型 tm time_t clock_t 时间操作 time() difftime() clock() 格式转换 asctime() ctime() strftime() wcsftime() gmtime() localtime() mktime() 类型说明 tm struct tm; 保有拆分到组分的日历日期和时间的结构体。 成员对象
小程序结合Three.js与gsap:打造流畅3D动画的完整指南
本文详细介绍了如何在小程序中整合Three.js与GSAP动画库,打造流畅的3D动画效果。通过从环境搭建、基础场景创建到模型加载与复杂动画编排的完整指南,帮助开发者克服小程序性能限制,实现如商品360度展示等沉浸式交互体验,提升产品视觉吸引力。
c++11:std::chrono::time_point、time_t、std::localtime、std::gmtime、std::chrono::steady_clock
template<class Clock,class Duration = typename Clock::duration> class time_point; 类模板 std::chrono::time_point 表示时间中的一个点。它被实现成如同存储一个 Duration 类型的自 Clock 的纪元起始开始的时间间隔的值。 Clock 必须满足时钟 (Clock) 的要求或为 std::chrono::local_t (C++20 起) 成员类型 定义 clock .
LAMMPS GCMC模拟保姆级教程:从fix gcmc命令到吸附等温线实战
本文提供LAMMPS GCMC模拟的详细教程,从fix gcmc命令设置到吸附等温线实战,涵盖巨正则蒙特卡洛模拟的全流程。通过MOF-5吸附甲烷的案例,指导用户构建模拟体系、转换化学势与压力、定义GCMC区域,并绘制出版级吸附等温线,助力材料科学研究。
Altium Designer(AD24/25)PCB编辑的几种方法介绍
本文介绍了Altium Designer(AD24/25)软件中PCB编辑的四种操作方法:1)通过菜单栏"Place→Component"激活;2)点击工具栏元器件图标;3)右键快捷菜单选择;4)快捷键P+C组合操作。建议初学者先通过菜单栏和快捷菜单熟悉操作,熟练后转为工具栏和快捷键以提高效率。文章配有操作示意图,帮助用户快速掌握PCB元器件放置技巧。
gmtime不支持多线程并发
这两个日期有一个客户和对端的日期对上,另外一个对不上,我怀疑对端有两个日期,对端程序员说就一份数据,很奇怪。既然双方都认为没有问题,只能靠日志报文检查了,因为偶发,还很难抓住,原来也出过类似问题,都不了了之了,这次想证明是对方问题,就下功夫抓报文,终于抓到了,结果大跌眼镜,同样的整数值,时间转换函数偶发转换成另外的值了,竟然是我们这边的问题。ACE其实是个老古董了,封装的是操作系统libc的库,问了一下豆包,说可能线程不安全,但也不确定,建议看ACE源码,看来ACE相关的信息太少,大模型都给不出确切答案。
uniapp [全端兼容] - 实现省市区选择器三四级联动组件,uniapp选择地址自定义省市区三级联动插件,弹框式多级联动选择器区域选择(全平台兼容苹果安卓App、支付宝微信小程序、移动端H5网页)
uni-app省市区选择器,省市区街道三级四级联动选择器,uniapp自定义多列选择器省市两级联动,uniapp picker组件实现多级联动,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,uniApp选择器省市区县街道乡镇,uniapp实现省市区选择联动,uniapp城市三级联动(自定义组件)_uniapp三级联动,picker插件省市区联动,uniapp小程序省市区选择器,uni-app 省市区街道的四级联动选择,uniapp怎样实现省市区地址三级联动uni
arduino uno r3单片机封装图_Arduino编程语言教程,Arduino和单片机的区别
众所周知,Arduino是一个开放性源码电子平台,拥有灵活、易用的硬件和软件。Arduino作为知名度很高的微控制器,已经融入到好多领域。现在很多中小学生、老师、创客们、设计师、艺术家等都在玩arduino。Arduino可以接受各种传感器的输入信号从而检测出运行环境,并通过控制光源,电机以及其他驱动器来影响其周围环境。板上的微控制器使用Arduino编程语言和Arduino开发环境,Arduin...
C#操作MySQL从入门到精通(1)——安装MySQL数据库
我们使用C#操作MySQL数据库第一步要做的就是安装MySQL数据库,本文就是详细讲解如何安装MySQL数据库。
文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况
主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。
C++语言总结目录
指向类成员变量及函数的指针(静态)指向类成员变量的指针(非静态)指向类成员函数的指针(非静态)函数操作符(“()”)派生类的赋值运算符重载。派生类成员的标识和访问。继承关系(公、私、保)派生类析构函数的语法。
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
c++及其他的公众号专辑示例,不断添加中.
cio c语言 c数值 c++算法
霍尼韦尔SoftMaster使用说明
霍尼韦尔SoftMaster使用说明
C++ 日期 & 时间
C++ 提供了多种方式来处理日期和时间,包括使用<chrono>和<ctime>头文件。<chrono>头。
C/C++常用头文件及函数汇总
C 头文件 说明 stdio.h 定义输入/输出函数,如printf,scanf,getchar等 stdlib.h 定义杂项函数及内存分配函数,如malloc等 stddef.h 常用常量,如NULL,size_t等 stdint.h 定义了各种整型的别称,如uint8_t等 string.h 字符串处理(包含了std...
c语言程序 计算离高考天数,用c++程序计算一个孩子从出生到高考需要多少天
#include int main(int argc, char* argv[]){int year, month, day, hour, minute, loop;time_t birth, now;tm * tmn;year = 0;month = 500;day = 0;hour = 25;minute = 61;while(1970 >= year || year > ...
C++11 新特性详解:革命性的现代化更新
C++11是C++语言的一次革命性更新,引入了众多现代化特性。核心改进包括自动类型推导(auto)、基于范围的for循环、右值引用和移动语义提升性能、Lambda表达式支持函数式编程、强类型枚举(enum class)增强类型安全。内存管理方面新增智能指针(unique_ptr/shared_ptr),标准库扩展了多线程支持、正则表达式、随机数等功能。其他重要特性包括原始字符串字面量、用户定义字面量、默认/删除函数等。这些改进使C++更安全高效,为后续版本奠定了基础,标志着C++向现代化语言的重大转变。
电脑垃圾太多?自己用c++做一个清理垃圾程序
说明:本文章主要是小编对于文件操作的一个总结,实用性不强,但是可以参考。 本文章代码已放在结尾,并在csdn上传资源,大家可以点击https://download.youkuaiyun.com/download/优快云_Anonymous/21425579下载。但是资源需要三积分的,如果不想花积分,请高抬贵手,点击一下关注,再翻到本文章最后复制吧~(*^▽^*) 首先,清理文件的前提是找到文件。所以,我们首先要写一个获取文件夹里文件地址的代码(这个是我从csdn上复制来的): #include <fst
时钟的c语言编程,用c语言怎么实现时钟程序?怎么编程
该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#include#include#include#includevoidmain(){intgd=DETECT,gm;intx=320,y=240,r=200,i,h,m,s,thetamin,thetasec;structtimet;charn[12][3]={"3","2","1","12","11","10","9",...
钟c语言程序,用c语言怎么实现时钟程序?怎么编程
该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#include#include#include#includevoidmain(){intgd=DETECT,gm;intx=320,y=240,r=200,i,h,m,s,thetamin,thetasec;structtimet;charn[12][3]={"3","2","1","12","11","10","9",...
c语言软件时钟程序,用c语言怎么实现时钟程序?怎么编程
该楼层疑似违规已被系统折叠隐藏此楼查看此楼#include#include#include#include#includevoidmain(){intgd=DETECT,gm;intx=320,y=240,r=200,i,h,m,s,thetamin,thetasec;structtimet;charn[12][3]={"3","2","1","12","11","10","9",...
我的大学--C++学习笔记
C++学习笔记(一)--基础知识sizeof用法 源文档 <http://blog.youkuaiyun.com/liufei_learning/archive/2009/12/27/5088150.aspx> C++学习笔记(二)--基础知识 源文档 <http://blog.youkuaiyun.com/liufei_learning/archive/2009/12/30/510950...
1031



被折叠的 条评论
为什么被折叠?



