https://cplusplus.com/reference/ctime/

先放上官方文档。

ctime类里,有很多转换时间格式的方法,下面只举例将UTC时间,转换为字符串的代码。

‌‌Unix时间‌,也称为‌POSIX时间,是UNIX或类UNIX系统使用的时间表示方式。它从协调世界时1970年1月1日0时0分0秒起至现在的总秒数,不考虑闰秒。这种时间表示方式被定义为从‌UTC时间1970年1月1日0时0分开始流逝的秒数。Unix时间也常被称为Unix时间戳,是计算机世界中使用的一种时间表示方法。如果某个时间是以巨大的科学计数的形式显示的,那它基本就是UTC时间。

上代码,注释是关键。


#include <ctime> //需要包含此类 time_t rawtime; //定义一个时间型变量,就类似”整形、浮点型变量“
struct tm ptm; //定义一个时间结构 rawtime = (time_t)list_n1->at(0).time; //将一个获取的UTC时间,赋值给刚才定义的时间变量。(time_t)的作用是转换类型,获取的UTC时间是double型,不加(time_t)的话,编译时会报警告,不影响程序运行。
gmtime_s(&ptm,&rawtime); //上面链接的官方文档里用的是gmtime(),如果本句写成 ptm = gmtime(&rawtime) , 编译时会显示错误,提示你gmtime()不安全,现在都用gmtime_s()。
cout << 1970+ptm.tm_year << "年" << 1+ptm.tm_mon << "月" << ptm.tm_mday << "日," << endl; //根据上述UTC时间的概念,可知,此转换完后,是从1970年1月1日0时0分开始的。所以2024年会显示成54年,所以前面加1970即可修正,月前+1同理,日不用加。并不是所有的UTC型时间都是从1970年1月1日0时0分开始的,具体如何修正,需要根据实际情况来修正。

c++时间形式转换的更多相关文章

  1. Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()

    一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...

  2. sql 日期时间格式转换

    Sql日期时间格式转换   sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...

  3. [php基础]Mysql日期函数:日期时间格式转换函数详解

    在PHP网站开发中,Mysql数据库设计中日期时间字段必不可少,由于Mysql日期函数输出的日期格式与PHP日期函数之间的日期格式兼容性不够,这就需要根据网站实际情况使用Mysql或PHP日期转换函数 ...

  4. Java SimpleDateFormat 中英文时间格式化转换

    2015年08月29日 17:37:43 阅读数:32459 SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类.它允许进行格式化(日期 -> 文本).解析( ...

  5. 时间日期转换工具类,获取当前时间YYYYMMDD24HHMISS、YYYYMMDDHHMISS

    YYYYMMDD24HHMISS:24小时制时间(显示上只是比YYYYMMDDHHMISS中间多了一个24),例:2018102224112440 YYYYMMDDHHMISS:12小时制时间,例20 ...

  6. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  7. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  8. js时间格式转换的几种方法

    公司项目需要获取时间并且转换格式,之前没有实现过但读过源码,新来的小哥给我讲了下细节.算是学到了..... function getLocalTime(){ var now=new Date(); v ...

  9. php获取当前时间和转换格式

    ## 获取时间和转换格式```//1.time():返回当前时间的Unix时间戳$stimestamp = time();$date = date("Y-m-d h:i:sa",$ ...

  10. MySQL时间戳和时间格式转换函数

    MySQL时间戳和时间格式转换函数:unix_timestamp and from_unixtime unix_timestamp将时间转化成时间戳格式.from_unixtime将时间戳转化成时间格 ...

随机推荐

  1. 018.CentOS升级内核

    一 更新yum源 1 [root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 2 [root@lo ...

  2. 05-canvas绘制简单图形之三角形

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  3. 变分信息瓶颈 (Variational Information Bottleneck) 公式推导

    互信息 互信息用于表示两个随机变量相互依赖的程度.随机变量 \(X\) 和 \(Y\) 的互信息定义为 \[\begin{aligned} I(X, Y) & = \mathrm{KL}[p( ...

  4. 「Docker学习系列教程」基础篇小总结及高级篇预告

    通过前面十来篇的学习,我们已经把docker基础篇学习完了.这篇文章,咱们就来小总结下基础篇学习的东西以及介绍接下来高级篇中,将会学习到哪些知识点. 基础篇总结: 第一篇,      凯哥就介绍了怎么 ...

  5. Redis过期策略以及Redis的内存淘汰机制

    此篇介绍了Redis过期策略以及Redis的内存淘汰机制,从内存淘汰的8种策略,如何开启内存淘汰策略到如何选择合适的淘汰策略,对Redis的内存淘汰机制做了全方位的阐述 如何高效的使用内存对于redi ...

  6. 005.MinIO-DirectPV分布式多租户存储部署

    MinIO部署准备 部署概述 本实验结合Kubernetes进行MinIO部署,实现MinIO于Kubernetes的融合. minio官方支持通过简单的快速部署,以便于进行基础测试: curl ht ...

  7. Redis、Nginx、SQLite、Elasticsearch等开源软件成功的原因及他们对IT技术人员的启示

    引言 这些年在自研产品,对于如何做好产品进行了一些思考.随着开源软件的蓬勃发展,许多开源项目已经成为IT行业的核心组成部分.像Redis.Nginx.SQLite.Elasticsearch这些知名的 ...

  8. vue3项目部署到Github

    此教程适应于以webpack,vue-cli,vite等脚手架构建的vue项目.当然,vue2和vue3都是可以滴. 1. 前提:你的代码库已经提交到Github上 如果没有的话,请到GitHub上新 ...

  9. 使用 `Roslyn` 分析器和修复器 对异步方法规范化返回Async结尾

    之前写过一篇使用修复器帮助添加头部注释文本的功能,今天使用Roslyn的代码修复器对异步返回方法规范化的功能 实现分析器 首先需要实现分析器,使用RegisterSyntaxNodeAction,分析 ...

  10. Vue Cli 创建项目在 GitHub 部署 history 路由模式

    1.修改打包路径 在 vue.config.js 中添加  publicPath  配置,其中 teambition-vue 是你项目的 github 名字.否则会找不到资源. module.expo ...