【C/C++时间系列】通过gmtime()函数将时间戳转换成GMT时间

2023-11-02

【GMT】Greenwich Mean Time
格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时(也就是在格林尼治时)的时间。
地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间──世界标准时间(UTC)

【UTC】世界标准时间
法文“Temps Universel Cordonné”缩写则为“TUC”
英文“Coordinated Universal Time”缩写为“CUT”
国际电信联盟折中的方案为  UTC(Universal Time Coordinated)


北京时间=UTC+8=GMT+8

#############

【gmtime()】

函数模型在time.h中

/* Return the `struct tm' representation of *TIMER
   in Universal Coordinated Time (aka Greenwich Mean Time).  */
extern struct tm *gmtime (__const time_t *__timer) __THROW;

函数的参数是一个指向时间戳time_t类型的指针,返回struct tm 类型的分解时间,即UTC时间。分解时间介绍点这里

【gmtime_r()】

gmtime()函数的另一个版本,可以把时间戳保存在 tm类型的__restrict __tp中。  


/* Return the `struct tm' representation of *TIMER in UTC,
   using *TP to store the result.  */
extern struct tm *gmtime_r (__const time_t *__restrict __timer,
                            struct tm *__restrict __tp) __THROW;

代码实现如下:

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
    struct tm mytm;
    time_t  t=time(NULL);
    cout<<"t is:"<<t<<endl;
    gmtime_r(&t,&mytm);
    cout<<"tm_year is:"<<mytm.tm_year<<endl;
    cout<<"tm_mon  is:"<<mytm.tm_mon<<endl;

    struct tm *p;
    p=gmtime(&t);
    cout<<"tm_year is:"<<p->tm_year<<endl;
    cout<<"tm_mon  is:"<<p->tm_mon<<endl;
}

编译执行如下:

$
$gcc -lstdc++ l_gmtime.cpp 
$./a.out 
t is:1532959967
tm_year is:118
tm_mon  is:6
tm_year is:118
tm_mon  is:6
$

1.、通过time() 获取时间戳

2、第一种方法:通过gmtime_r(&t,&mytm); 把 时间戳t 转换成 分解时间 存入 mytm

      第二种方法:先定义一个指向struct tm 的指针p,然后p=gmtime(&t)  通过返回值实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【C/C++时间系列】通过gmtime()函数将时间戳转换成GMT时间 的相关文章

  • 转换为 UTC 而不更改 php 时区设置

    如何在不更改默认时区的情况下转换 php 中日期字符串的时区 我想将其在本地转换为仅显示 不应修改 php 时区设置 EDIT 我的源时间是 UTC 字符串 我想将其转换为不同的格式 保留时区为 UTC 但 php 正在将其转换为本地时区
  • 在 Android 上将 UTC 转换为本地时间

    在我的项目中 我获得了 json 格式的 API 响应 我得到一个 UTC 时间格式的时间字符串值 如下所示Jul 16 2013 12 08 59 AM 我需要将其更改为当地时间 这就是我们使用此应用程序时需要显示当地时间的地方 我该如何
  • 将 Java 日期转换为 UTC 字符串

    The java util Date toString 方法显示本地时区的日期 有几种常见的场景我们希望将数据打印在UTC 包括日志 数据导出以及与外部程序的通信 创建字符串表示的最佳方法是什么java util Date in UTC 如
  • 从 Moment.js 中的 UTC 日期字符串创建本地日期

    给定 UTC 日期字符串 格式 YYYYMMDDHHmmss 我想使用 Moment js 创建带有本地时区的日期 我已经尝试过以下方法 var utcDateStr 20140101120000 var localDate moment
  • PHP:将本地时间转换为 UTC

    假设我得到一个像这样的字符串08 22 2015 10 56 PM并且该日期 时间字符串始终仅指一个特定时区 我需要能够将其转换为这种格式 Ymd THis Z 这是 iCal 格式 如何将该字符串转换为祖鲁时间并转换为 Ymd THis
  • 将 UTC 日期时间字符串转换为本地日期时间

    我从来没有需要在 UTC 和 UTC 之间进行时间转换 最近有人请求让我的应用程序了解时区 但我一直在兜圈子 有关将本地时间转换为 UTC 的大量信息 我发现这些信息相当简单 也许我也做错了 但我找不到任何有关轻松将 UTC 时间转换为最终
  • 如何使用 EclipseLink 和 Joda-Time 将 UTC 日期时间存储到数据库中?

    我一直在摸索以下 EclipseLink乔达时间转换器长时间存储日期时间UTC进入MySQL数据库完全没有成功 import java util Date import org eclipse persistence mappings Da
  • 在 MongoDB 中存储出生日期的最佳方式是什么?

    我已经阅读了很多关于如何在 MongoDB 中存储简单日期 没有时间 的内容 但我仍然找不到答案 有人说像 MongoDate 日期 utc 时间 一样存储主题 有人说像 YYYYMMDD 字符串一样存储主题 还有一些人喜欢其他有趣的方式
  • 使用 strftime 将 python 日期时间转换为纪元

    我有一个 UTC 时间 我想要从纪元开始的秒数 我正在使用 strftime 将其转换为秒数 以2012年4月1日为例 gt gt gt datetime datetime 2012 04 01 0 0 strftime s 1333234
  • 带有闰秒的持续时间

    我需要在固定的日期时间在代码中安排任务 为此 我使用 ScheduledExecutorService 和方法schedule Runnable command long delay TimeUnit unit 如何根据闰秒计算此延迟 目前
  • 为什么我无法在 Javascript Date 对象上使用 getDay() 方法和 getUTCDay() 方法获得相同的结果

    今天是星期一 上午 00 51 我来自魁北克市 因此我的时间为 GMT 0500 UTC 05 00 我不知道为什么下面的代码给了我两个不同的结果 const weekday Array sunday monday tuesday wedn
  • 将 UTC 纪元转换为本地日期

    我已经为此奋斗了一段时间了 我正在尝试将纪元转换为日期对象 该纪元以 UTC 格式发送给我 每当你经过new Date 一个纪元 它假设它是本地纪元 我尝试创建一个 UTC 对象 然后使用setTime 将其调整到正确的纪元 但似乎唯一有用
  • 从字符串解析日期时间时遇到问题

    我目前正在尝试解析从每隔几分钟从网络下载的 xml 中获取的字符串 该字符串如下所示 Thu Jul 12 08 39 56 GMT 0100 2012 起初我只是做了一个string split并在时间结束后取出所有东西 GMT 0100
  • 报告本地时间而不是 UTC 服务器时间

    我创建了一个页面 其中向用户显示服务器报告的天气数据 时间保存为 UTC 如何从 Blazor 服务器应用程序显示本地用户或浏览器的时间 我遇到了类似的问题并创建了一个名为的库布拉佐尔时间 https github com dustout
  • MySQL 是否应该将时区设置为 UTC?

    跟进问题https serverfault com questions 191331 should servers have their timezone set to gmt utc https serverfault com quest
  • Node JS 智利现行 DST 规则

    根据规范 Node JS ES5 在处理 Date 对象时应使用当前的 dts 规则 当前的意思是 现在 而不是特定的日期 这并不完美 但目前对我来说已经足够了 目前 该规则是错误的 由于智利法律的变化 简单探针 console log n
  • 如果时区设置为“UTC”,SimpleDateFormat 会忽略“XXX”

    我正在尝试按以下格式将当前日期时间输出为 UTC 2016 01 11T14 08 42 00 00 final SimpleDateFormat formatter new SimpleDateFormat yyyy MM dd T HH
  • 如何找出 Android 中的 GMT 偏移值

    如何找出用户的 GMT 值 例如印度为 05 30 如何在 Android 中计算 05 30 值 我需要这个 因为我在我的应用程序中使用一个java库 它有一个带有这个 05 30字段的函数 我想通过计算生成这个字段 这样我就不必填写国家
  • 检查 DST 是否生效

    In PHP date I 会告诉我夏令时是否有效 这是否告诉我 DST 是否专门针对我的服务器配置的时区有效 或者是否在有效期间 我在亚利桑那州 那里不遵守夏令时 因此 我需要我的服务器认识到纽约现在比我早 2 小时 但是当明年 3 月夏
  • Php 转换 GMT 格式的时间

    我有这个字符串2012 06 27 16 17 06我想将其转换为 GMT 格式 我怎样才能做到这一点 多谢 Use gmdate http php net manual en function gmdate php 使用以下命令将当前日期

随机推荐

  • 【测试开发】Junit 框架

    目录 一 认识 Junit 二 Junit 的常用注解 1 Test 2 Disabled 3 BeforeAll 4 AfterAll 5 BeforeEach 6 AfterEach 7 执行测试 三 参数化 1 引入依赖 2 单参数
  • 分析key原理

    总结 key是虚拟dom对象的标识 当数据发生变化时 vue会根据新数据生成新的虚拟dom 随后vue进行新虚拟dom与旧虚拟dom的差异比较 比较规则 旧虚拟dom中找到了与新虚拟dom相同的key 若虚拟dom中的内容没变 直接使用之前
  • 将一列具有相同数据的行合并到同一行

    如何将第一列具有相同数据的行合并到同一行 但要保护重复内容 将重复内容依次填充到重复行中第一行后面 首列相同的 将后面对应列各单元格内容合并到重复行中第一行后对应的单元格内 并且用 连接 对应列只有一个单元格有内容 则不添加 符号 若为空
  • 【sql】mysql索引问题笔记

    q 使用了索引就会有优化 a 然而并不是这样 一下情况都是没有作用的 1 索引字段并没有在查询条件中使用 2 条件查询的过滤结果占比过多 既索引字段为可重复的字段 常固发生此情况 3 对小表查询 此处指索引建立在小表上 联查到数据多的表的时
  • Android(java方法)上实现mp4的分割和拼接 (二)

    http blog csdn net banking17173 article details 20646251 这节谈一下如何在Android上实现mp4文件的高效率切割 业务需求举例 把一段2分钟的mp4文件切割出00 42 至 01
  • Hudi学习3:数据湖主流架构

    delta Lake Iceberg iceberg表可以扩展 Hudi 支持flink 并且支持快速upsert delete
  • VIM使用技巧专区汇总

    查找 set hlsearch 设置搜索高亮 something 在后面的文本中查找something something 在前面的文本中查找something pattern number 将光标停在包含pattern的行后面第numbe
  • 力扣:多数元素

    给定一个大小为 n 的数组 找到其中的多数元素 多数元素是指在数组中出现次数 大于 n 2 的元素 你可以假设数组是非空的 并且给定的数组总是存在多数元素 class Solution public int majorityElement
  • 频数表&频率表

    一 基本概念 1 频数表是将数据集按照某个特定列分类 分组 时观察每个类 组中数据出现次数的表 2 列联表是观测数据按两个或更多属性 定性变量分类时所列出的频数分布表 是由两个以上的变量进行交叉分类的频数分布表 3 频数也称 次数 对样本数
  • 关于this.$refs是undefined

    问题 最近在做开发的时候 遇到这样一个问题 从后端请求到一个图片列表 需要根据返回图片的情况设置元素的宽度 这就需要这样计算list的宽度imgList length imgElement clientWidth 为了在各种移动端自适应 不
  • opencv 解决ippicv下载问题,离线:ippicv_2019_lnx_intel64_general_20180723.tgz

    ippicv 2019 lnx intel64 general 20180723 tgz 这个下载超级慢 有设么用呢 硬件加速 人脸识别 说法不统一啊 以后再完善 下载超时怎么办呢 那我们就采取手动下载的模式然后离线安装 1 下载 ippi
  • UE4像素流

    UE4像素流 局域网 公网 文章目录 UE4像素流 局域网 公网 TOC 文章目录 前言 一 启用像素流 二 项目设置配置像素流参数以及打包 1 配置 打包 配置启动参数 启动像素流服务 信令服务器 http服务 80端口 8888端口 端
  • DDD的分层架构

    DDD作为一种指导思想 还是有一些相对来说可以落地的东西 比如说他这个分层架构 整体分为以下四层 实际上基于上图 我们可以把我们项目工程文件再具体一点 填写到上面的图片上 用户接口层 user interface 用户接口层负责向用户显示信
  • poi生成word文档,包含插入表格

    package com controller import java io FileInputStream import java io FileOutputStream import java io IOException import
  • 「京谈客服系统」出击:京东再起TO B战事

    对于企业而言 基于京谈的技术支持 企业能够获得的不仅仅是客服系统的优化重塑 更多的是把业务直接建立在京东对于客服系统的理解之上 从产业的视角重新定义自身客服体系 作者 皮爷 出品 产业家 数字化浪潮正滚滚而来 8月2日 财富 杂志发布了最新
  • PostgreSQL:“more than one owned sequence found“异常问题解决

    问题 本地数据库正常 但还原部署到服务器数据库后 添加表记录时提示 more than one owned sequence found 的异常报错 解决方案 这个问题是自增列引起的 可能迁移或还原数据表结构时出现异常 解决的办法是重置标识
  • 算法-分治算法

    文章目录 分治算法 什么是分治算法 分治算法的优点 分治算法的核心思想 分治算法的技巧 分治算法的边界 分治算法的常见题型及讲解 归并排序及逆序对问题 归并排序 逆序对问题 快速排序和第k小数 快速排序 第k小数 树的遍历 树的先序遍历 树
  • 高手需要具备的思维模型

    01 思维模型 决定了你的人生状态 电影 教父 中 有一句经典台词 花半秒钟看透本质的人 和花一辈子都看不清的人 注定拥有截然不同的命运 思维模型 决定了你的人生状态 2014年 张一鸣观察到移动互联网时代面临的问题 信息爆炸式增长的同时
  • MATLAB零基础入门(一)

    大家好 我是Henry 上一期的Python爬虫实践中 Henry导入了Matplotlib库进行了新冠疫情的每日新增的绘图 其实Matplotlib的原型是另一门应用非常广泛的语言 Matlab 最近Henry也学习了一些Matlab的绘
  • 【C/C++时间系列】通过gmtime()函数将时间戳转换成GMT时间

    GMT Greenwich Mean Time 格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时 也就是在格林尼治时 的时间 地球每天的自转是有些不规则的 而且正在缓慢减速 所以 格林尼治时间已经不再被作为标准时间使用 现在的标准时间