C/C++ 中本地时间和 GMT/UTC 之间的转换

2024-01-31

在 C/C++ 中在本地时间和 UTC 之间转换日期时间的最佳方法是什么?

我所说的“日期时间”是指包含日期和时间的时间表示形式。我会很高兴time_t, struct tm,或任何其他使其成为可能的表示。

我的平台是Linux。

这是我试图解决的具体问题:我得到一对包含儒略日期和当天的秒数的值。这些值采用 GMT。我需要将其转换为本地时区“YYYYMMDDHHMMSS”值。我知道如何将儒略日期转换为 Y-M-D,显然将秒转换为 HHMMSS 很容易。然而,棘手的部分是时区转换。我确信我能找到解决方案,但我更愿意找到一种“标准”或“众所周知”的方法,而不是跌跌撞撞。


一个可能相关的问题是获取 C 时区的夏令时转换日期 https://stackoverflow.com/questions/678445/get-daylight-saving-transition-dates-for-time-zones-in-c


你应该使用以下组合gmtime/localtime and timegm/mktime。这应该为您提供正交工具来进行转换struct tm and time_t.

对于 UTC/GMT:

time_t t;
struct tm tm;
struct tm * tmp;
...
t = timegm(&tm);
...
tmp = gmtime(t);

对于当地时间:

t = mktime(&tm);
...
tmp = localtime(t);

All tzset()确实是设置内部时区变量TZ环境变量。我认为这不应该被多次调用。

如果您尝试在时区之间进行转换,您应该修改struct tm's tm_gmtoff.

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

C/C++ 中本地时间和 GMT/UTC 之间的转换 的相关文章

  • 在 C++ 中使用 matlab 结构(matlab 函数调用的返回值)(由 matlab 编译器生成的库)

    你好 我有一个相当简单的 matlab 函数 例如 function MYSTRUCT myfunc MYSTRUCT prop1 test MYSTRUCT prop2 foo MYSTRUCT prop3 42 end 我用 matla
  • 确保 StreamReader 不会挂起等待数据

    下面的代码读取从 tcp 客户端流读取的所有内容 并且在下一次迭代中它将仅位于 Read 上 我假设正在等待数据 我如何确保它不会在没有任何内容可供读取时返回 我是否必须设置低超时 并在失败时响应异常 或者有更好的办法吗 TcpClient
  • 在 LINQ 中按 Id 连接多表和分组

    我想按categoryId显示列表产品的名称组 这是我的代码 我想要我的视图显示结果 Desktop PC HP Red PC Dell Yellow PC Asus Red SmartPhone Lumia 720 Blue 我的组模型
  • 在 C 中匹配二进制模式

    我目前正在开发一个 C 程序 需要解析一些定制的数据结构 幸运的是我知道它们是如何构造的 但是我不确定如何在 C 中实现我的解析器 每个结构的长度都是 32 位 并且每个结构都可以通过其二进制签名来识别 举个例子 有两个我感兴趣的特定结构
  • 复制目录内容

    我想将目录 tmp1 的内容复制到另一个目录 tmp2 tmp1 可能包含文件和其他目录 我想使用C C 复制tmp1的内容 包括模式 如果 tmp1 包含目录树 我想递归复制它们 最简单的解决方案是什么 我找到了一个解决方案来打开目录并读
  • 如何使用 LINQ2SQL 连接两个不同上下文的表?

    我的应用程序中有 2 个数据上下文 不同的数据库 并且需要能够通过上下文 B 中的表的右连接来查询上下文 A 中的表 我该如何在 LINQ2SQL 中执行此操作 Why 我们正在使用 SaaS 产品来跟踪我们的时间 项目等 并希望向该产品发
  • 由 IHttpClientFactory 注入时模拟 HttpClient 处理程序

    我创建了一个自定义库 它会自动为依赖于特定服务的 Polly 策略设置HttpClient 这是使用以下方法完成的IServiceCollection扩展方法和类型化客户端方法 一个简化的例子 public static IHttpClie
  • 在一个平台上,对于所有数据类型,所有数据指针的大小是否相同? [复制]

    这个问题在这里已经有答案了 Are char int long 甚至long long 大小相同 在给定平台上 不能保证它们的大小相同 尽管在我有使用经验的平台上它们通常是相同的 C 2011 在线草稿 http www open std
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 外键与独立关系 - Entity Framework 5 有改进吗?

    我读过了several http www ladislavmrnka com 2011 05 foreign key vs independent associations in ef 4 文章和问题 https stackoverflow
  • 等待进程释放文件

    我如何等待文件空闲以便ss Save 可以用新的覆盖它吗 如果我紧密地运行两次 左右 我会得到一个generic GDI error
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 为什么 gcc 抱怨“错误:模板参数 '0' 的类型 'intT' 取决于模板参数”?

    我的编译器是gcc 4 9 0 以下代码无法编译 template
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 如何将 PostgreSql 与 EntityFramework 6.0.2 集成? [复制]

    这个问题在这里已经有答案了 我收到以下错误 实体框架提供程序类型的 实例 成员 Npgsql NpgsqlServices Npgsql 版本 2 0 14 2 文化 中性 PublicKeyToken 5d8b90d52f46fda7 没

随机推荐

  • 从自定义路由类访问用户会话

    有没有某种方法可以从自定义路由类访问用户对象 我想在生成 url 时添加一个参数 并且该参数位于用户会话内部 因此我需要访问它 我发现访问的唯一方法是使用 sfContext getInstance gt getUser 但众所周知效率很低
  • 如何以编程方式解析 spring 安全表达式(例如在某些控制器中)

    你如何解析 spring web 安全表达式 例如hasRole admin 以编程方式 不使用标签 注释或 参考文档 http docs spring io autorepo docs spring security 3 2 0 RELE
  • AttributeError:模块“sklearn.metrics”没有属性“calinski_harabaz_score”

    我正在尝试应用 sklearn 文档中的代码 我收到错误 AttributeError 模块 sklearn metrics 没有属性 calinski harabaz score 这是我的版本 Python 版本 3 5 2 由 cond
  • UIView drawRect:是否可以在路径内进行描边?

    使用核心图形 是否可以绘制路径的内部 与将线条粗细一半绘制在描边路径的外侧 一半绘制在内侧相反 原因是 如果视图的一部分位于屏幕边缘而另一部分不在屏幕边缘 则控制笔划的可见粗细会更容易 屏幕边缘上的部分被切掉 而完全在屏幕上的视图边缘看起来
  • Google 应用引擎和 CDN

    使用 Google 应用引擎时 如果我希望我的文件资源更接近用户 那么使用 CDN 有什么好处吗 嗯 这完全取决于您的预算 地理位置和概况 Google 应用程序引擎是免费的 如果配置正确 它可以很好地向世界各地的不同地点提供您的内容 很多
  • DatePicker flutter 改变显示日期格式

    如何更改显示日期的格式 我在这里找不到日期格式字段 这是我的示例代码 onDateChanging BuildContext context DateKind dateKind FlightSearchQueryProvider searc
  • 在不使用 osascript 或 appscript 的情况下从 Python 调用 AppleScript?

    有没有办法从 python 执行 AppleScript 代码 并获取结果 而不使用osascript命令行实用程序或应用脚本 http appscript sourceforge net 我真的不想使用 我认为 因为不再开发 支持 推荐
  • 如何将消息附加到 RSpec 检查?

    在 RSpec 中 我可以像在 xUnit 样式测试框架中那样将消息附加到检查吗 如何 assert equal value1 value2 something is wrong 对于 RSpec 3 该消息可以自定义为字符串或使用过程 检
  • 从 Cocoa 应用程序执行终端命令

    如何执行终端命令 例如grep 来自我的 Objective C Cocoa 应用程序 您可以使用NSTask http developer apple com documentation Cocoa Reference Foundatio
  • FBSDKCoreKit.framework/FBSDKCoreKit:通用包装器中没有匹配的架构

    我正在尝试将核心 Facebook SDK 设置到我的项目中 我的项目是基于 Swift 的 但 SDK 是 ObjectiveC 我复制了两个Bolts framework and FBSDKCoreKit Framework进入我的项目
  • 在 MongoDB 中将 Guid 存储为字符串有哪些缺点?

    应用程序将 Guid 字段保留在 Mongo 中 最终存储为 BinData id new BinData 3 WBAc3FDBDU Zh cBQFPc3Q 这种情况下的优点是紧凑 缺点在需要对应用程序进行故障排除时就会显现出来 Guid
  • 将一些布尔属性转换为标志枚举

    我需要将具有 3 个 bool 属性的遗留类转换为标志枚举 我知道这些属性中至少有一项是正确的 Flags public enum FlagEnum EnumValue1 1 EnumValue2 2 EnumValue3 4 public
  • 指定 Rust 闭包的生命周期

    我在制作执行器 反应器时发现这是一个终身问题 它与 async Future 无关 并且可以在没有异步糖的情况下重现 use std future Future struct Runtime fn start with runtime
  • Reactjs追加一个元素而不是替换

    我正在尝试迭代事物的列表 数组 对象 我使用咖啡脚本来保持清晰 完整的 JS jsfiddle 在这里 http jsfiddle net AMxfL 但这只是一个 forEach pages for page each of props
  • 在CMake中自动使用目录作为项目名称

    我在使用 CMake 来管理我的构建系统方面还很陌生 所以如果我很愚蠢并且这是一个坏主意 请告诉我 我希望能够设置我的 cmakelists txt 文件 以便当我这样做时 project 目录名称自动成为项目名称 我想这样做是因为我发现能
  • 使用paintComponent在JFrame中镜像对象

    我创建了一个类 它是一个 镜像 对象 类构造函数具有镜像坐标和方向 这个类中还有一个paintComponent方法 我正在尝试在框架中使用此类创建一个镜子对象 并自动绘制带有坐标和方向的镜子 有 镜子 类 我可以这样做吗 import j
  • 使用 pyvmomi 获取 vmware 中实例实际使用(分配)的磁盘空间

    我最近开始使用 pyvmomi 在将实例迁移到 AWS 之前获取 vmware 服务器的详细清单 在vcenter Web界面或vsphere客户端中 我可以检查实例并查看其磁盘 它会告诉我磁盘大小 已配置 以及正在使用的磁盘量 已用存储
  • JavaScript 字节序编码?

    对SO的回应 https stackoverflow com questions 503052 javascript is ip in one of these subnets 503238 503238我开始思考 JavaScript 是
  • 计算词性标注器准确率的参数

    我是自然语言处理的初学者 我有一个关于计算 POS 标注器准确性的基本问题 标注器正在使用语料库 不要将下面的 集合 一词与集合的数学定义混淆 我只是将其用作普通的英语单词来传达一些 组 或 映射 有不同的准确性指标 例如精度 召回率和混淆
  • C/C++ 中本地时间和 GMT/UTC 之间的转换

    在 C C 中在本地时间和 UTC 之间转换日期时间的最佳方法是什么 我所说的 日期时间 是指包含日期和时间的时间表示形式 我会很高兴time t struct tm 或任何其他使其成为可能的表示 我的平台是Linux 这是我试图解决的具体