草庐IT

c++ - 跨平台C++ : convert to/from UTC/local time WITH historical tzdata

我需要将时间从UTC转换为用户选择的时区。我还必须将该时区的用户输入转换为以UTC存储。目前时区以Olson格式定义(“美国/洛杉矶”)。Linux上使用timegm的解决方案很简单,但我找不到在Windows上做完全相同事情的跨平台解决方案(或任何解决方案)。我不能使用Boost.Date_Time(http://www.boost.org/doc/libs/1_57_0/doc/html/date_time.html),因为它不支持历史时区更改,例如多年来不同的DST周期。几年前显然有人提交了一个补丁,但似乎没有被接受。唯一似乎合理的其他解决方案是使用来自:https://www.

php - 为什么亚洲/迪拜时区缩写在 timezonedb 和 tzdata 之间不同?

我正在使用phptimezonedb2017.2。为什么它返回+04而不是亚洲/迪拜时区的GST?虽然默认内置phptzdata返回GST。$dt=newDateTime('now',newDateTimezone('Asia/Dubai'));$dt->format('T');//returnseitherGSTor+04php-v=PHP5.5.38(cli)(构建时间:2016年10月25日18:30:32) 最佳答案 基本上,因为时区数据随时间变化。听起来timezonedb是最新的,但tzdata不是。此更改是在IANAt

Java - 无论 JRE 版本如何,查找正在使用的 tzdata 版本

我们有一个简单的实用程序应用程序,它读取JRE中使用的所有时区数据并将其全部显示在一个简单的表格中。我们需要为即将发布的产品版本使用旧版本的JRE(6_24)(显然是由于其他问题),但我们还需要在该版本中包含较新的时区更新(否则将包含在6_29中)).我们已经打包了一个将要安装的私有(private)JRE,因此使用TZUpdatertool将时区更新更新到该私有(private)JRE中。不是问题-问题是读取/验证哪个版本的tzdata(例如tzdata2010o、tzdata2011k)正在使用实用程序读取(即运行该应用程序的JRE中使用的是哪个版本)。该应用目前在标题栏中显示JR

java - TZupdater 因 tzdata2016g 版本而失败

TZUpdater2.1.0在tzdata2016g版本中失败。对于Java8,它以“源目录不包含文件:VERSION”错误而失败,而对于Java7,它以“JRE更新到版本:tzdataunknown”注释完成。这似乎是最近IANAtzdata分配的变化:取消设置Makefile的VERSION字段。已报告有关此问题的错误:https://bugs.openjdk.java.net/browse/JDK-8166928.DST日期(2016年10月30日)越来越近了,我们至少需要一个解决方法。不知何故,这可能吗? 最佳答案 解决方法

php - 在 64 位 unix PHP 上 2038 后转换为 UTC 时出错

我需要使用php(5.4)将日期时间信息从本地时间(gtm+1)转换为UTC在Centos7.464位上我尝试了以下过程:functionconvertToUtc($date){$dateTime=newDateTime($date,newDateTimeZone('Europe/Rome'));$dateTime->setTimezone(newDateTimeZone('UTC'));return$dateTime->format('Y-m-d').'T'.$dateTime->format('H:i:s').'Z';}这一直有效到2038年,之后它会错误计算DST,返回的偏移量始

android - 更新安卓时区数据

我在我的设备上运行Android4.4.3,当然它有过时的时区,我正在尝试更新/system/usr/share/zoneinfo中的tzdata.但是,立即替换文件不会更新时区。由于ICU保留了自己的时区数据副本,我们也必须替换它(根据GoogleAOSP团队的说法)。更新后的数据文件为UpdateforICU和Updateforbionic但是,当我构建和替换icu4c库(libicui18n.so和libicuuc.so)并将icudt51l.dat替换为icudt53l.dat时,系统无法初始化ICU。我尝试解压icudt53l.dat并将其*.res文件推送到旧的icudt5

python - 从 tzdata 中提取历史闰秒

有没有办法从分布在大多数linux发行版上的时区数据库中提取历史闰秒时刻?我正在寻找python中的解决方案,但是任何在命令行上工作的东西都可以。我的用例是在GPS时间(基本上是自1980年第一颗GPS卫星开启以来的秒数)和UTC或本地时间之间进行转换。UTC不时调整闰秒,而gps-time线性增加。这相当于在UTC和TAI之间进行转换。.TAI也忽略闰秒,因此TAI和gps-time应该始终以相同的偏移量演变。在工作中,我们使用gps-time作为同步世界各地天文观测的时间标准。我有在gps-time和UTC之间转换的工作函数,但我必须硬编码一个闰秒表,我得到here(文件tzdat

python - 从 tzdata 中提取历史闰秒

有没有办法从分布在大多数linux发行版上的时区数据库中提取历史闰秒时刻?我正在寻找python中的解决方案,但是任何在命令行上工作的东西都可以。我的用例是在GPS时间(基本上是自1980年第一颗GPS卫星开启以来的秒数)和UTC或本地时间之间进行转换。UTC不时调整闰秒,而gps-time线性增加。这相当于在UTC和TAI之间进行转换。.TAI也忽略闰秒,因此TAI和gps-time应该始终以相同的偏移量演变。在工作中,我们使用gps-time作为同步世界各地天文观测的时间标准。我有在gps-time和UTC之间转换的工作函数,但我必须硬编码一个闰秒表,我得到here(文件tzdat

java - 使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错

我正在尝试使用TZUpdater2.2.0更新JVM的时区信息.>[root@localtzupdater-2.2.0]#java-jartzupdater.jar-Vtzupdaterversion2.2.0-b01JREtzdataversion:tzdata2018dtzupdatertoolwouldupdatewithtzdataversion:tzdata2018f所以,我正在运行以下命令:>[root@localtzupdater-2.2.0]#java-jartzupdater.jar-l但是,我收到以下错误消息:Failed:java.lang.Exception:F

java - 使用 tzupdater-2.2.0 更新 tzdata 2018f(2018-10-18 发布)时出错

我正在尝试使用TZUpdater2.2.0更新JVM的时区信息.>[root@localtzupdater-2.2.0]#java-jartzupdater.jar-Vtzupdaterversion2.2.0-b01JREtzdataversion:tzdata2018dtzupdatertoolwouldupdatewithtzdataversion:tzdata2018f所以,我正在运行以下命令:>[root@localtzupdater-2.2.0]#java-jartzupdater.jar-l但是,我收到以下错误消息:Failed:java.lang.Exception:F
12