问题标签 [tzinfo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
102 浏览

django - 表单集字段中的 django 时区问题

我在模型表单中使用的外键对象在模板中显示如下:

在此处输入图像描述

它以 UTC 显示支腿的日期时间,这是默认时区。它需要显示本地化到用户时区的日期信息。我假设它使用模型中的以下信息来呈现 Leg 日期时间信息:

我有一个自定义中间件,用于检查用户是否经过身份验证,如果是,则将时区设置为用户的时区。它在模板上运行良好,但似乎不适用于此模型形式。

如何让这个模型表单中的日期时间信息与当前用户的时区一起显示,该时区存储在我的数据库中并可以在模板中访问?

谢谢!

0 投票
1 回答
1373 浏览

timezone - 为什么 tzinfo 使用城市时区而不是区域时区?

这个问题与 tzinfo aka Olson Timezone Database 中的标准时区列表有关。

示例 1:我注意到使用 America/New_York 或 America/Detroit(被称为“示范城市”,参见http://www.w3.org/International/docs/timezones/#tzids)而不是 US/Eastern。

示例 2:在加拿大,Mountain 时区通常被描述为 America/Edmonton 而不是 Canada/Mountain。不列颠哥伦比亚省的部分地区处于山区时间,但它们的时区被指定为美国/埃德蒙顿(位于阿尔伯塔省)。

在这些情况下,为什么要使用区域/示例城市选项而不是国家/地区版本?首先创建国家/地区版本肯定是有原因的,但是如果它不是首选方式,为什么会存在呢?

当一个国家有多个时区时,这主要是一个问题。

某处是否有最佳实践说明为什么一个比另一个更受欢迎?

(PS 这对谷歌来说是一个难题,因为你得到了所有不相关或无用的结果。我能找到的最接近的是夏令时和时区最佳实践,但它没有解决这个问题。)

编辑:2个时区可以代表1个城市吗?有“因为不是每个人都使用规范的大陆/城市表示法作为他们的时区(例如,我倾向于使用旧的美国/太平洋表示法 - 它仍然受支持,但相当于 America/Los_Angeles)。” 他关于“美国/太平洋”较旧的断言与我的间接假设相矛盾,即它较新,但仍然不是答案。

0 投票
1 回答
450 浏览

ruby-on-rails - 安装 tzinfo (0.3.33) 时出错,Bundler 无法继续

您好,我正在运行 bundle install 并收到以下错误消息。我正在使用 rails 安装工具包@ http://railsinstaller.org/

Errno::EINVAL:无效参数 - C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9。1/cache/tzinfo-0.3.33.gem 安装 tzinfo (0.3.33) 时出错,Bundler 无法继续。

gem install tzinfo -v '0.3.33'在捆绑之前确保成功。

0 投票
2 回答
11944 浏览

ruby-on-rails - 如何将 TZInfo 标识符转换为 Rails 时区名称/键

如何将作为 TZInfo 标识符接收的 js 值转换为 Rails TimeZone 名称/键?

FROM:"America/New_York"从 JavaScript TZinfo 检测返回
TO:"Eastern Time (US & Canada)"Rails TimeZone 中使用的约定


或另一个例子:
"Pacific/Honolulu"=> 转换为 =>"Hawaii"

两者都在ActiveSupport::TimeZone < Object映射中可用,但 rails "Eastern Time (US & Canada)"在下拉、验证和存储到Time.use_zone().


根据我对这一点的理解,ActiveSupport::TimeZone.us_zones这似乎很重要,尤其是在 DayLights 节省时间(轨道声音处理得很好)和仅匹配偏移量的情况下。如果未使用 rails TimeZone 名称将其存储到 DB,则验证失败,并且在用户的配置文件设置页面中与下拉列表不匹配ActiveSupport::TimeZone.zones_map

这样做的目标是用户不必在注册时选择他们的时区,或者在注册后在他们的设置中进行更改。浏览器检测到它并在注册时将其传递给 hidden_​​field。在极少数情况下,他们会在不同于家庭/工作的地方注册。他们可以稍后在其帐户设置中手动覆盖。

尝试摄取 js 时区检测时似乎是一个常见的差距。这甚至可能成为次要问题,如何将返回的信息从 js 传递到 rails 进行转换,然后返回 js 以存储回表单的 hidden_​​field 中?希望我正确地提出了这个问题并且诚然有点绿色,所以可能有一个简单的解决方案......

非常感谢所有的帮助!
-E


ActiveSupport Time.zone 文档
http://api.rubyonrails.org/classes/ActiveSupport/TimeZone.html#method-i-parse


使用 js 打包 gem 'temporal-rails' 检测用户时区:
https ://github.com/jejacks0n/temporal

用户 Time_Zone 实现如图所示:
http ://railscasts.com/episodes/106-time-zones-revised

*使用设计和设计-不可避免


注册查看脚本

用户模型

用户帐户设置表单

0 投票
1 回答
1132 浏览

python - 我可以将 pandas DataFrame 导出到 Excel 剥离 tzinfo 吗?

我在 pandas 0.10.1 中有一个时区感知 TimeSeries。我想导出到 Excel,但时区阻止日期在 Excel 中被识别为日期。

如果我用 剥离 tzinfo .tz_convert(None),日期将转换为 UTC:

是否有适用.replace(tzinfo=None)于索引中每个日期的 TimeSeries 方法?

或者,有没有办法将时间感知 TimeSeries 正确导出到 Excel?

0 投票
1 回答
219 浏览

ruby - tzinfo 与 mongoid 和 rufus-scheduler 冲突

我尝试将 mongoid 3.x 与 rufus-scheduler 2.x 一起使用,但我总是在 tzinfo 上遇到 gem 冲突。

看起来 mongoid 对一些遗留的 tzinfo 版本有一些依赖。

我怎么解决这个问题?

0 投票
2 回答
3044 浏览

python - 从 tzdata 中提取历史闰秒

有没有办法从分布在大多数 Linux 发行版上的时区数据库中提取历史闰秒时刻?我正在寻找 python 中的解决方案,但是在命令行上工作的任何东西都可以。

我的用例是在 gps 时间(基本上是自 1980 年第一颗 GPS 卫星开启以来的秒数)和 UTC 或本地时间之间进行转换。UTC 不时调整闰秒,而 gps-time 线性增加。这相当于在 UTC 和TAI之间转换之间进行转换。TAI 也忽略闰秒,因此 TAI 和 gps-time 应该始终以相同的偏移量演变。在工作中,我们使用 gps-time 作为全球同步天文观测的时间标准。

我有在 gps-time 和 UTC 之间转换的工作函数,但我必须硬编码一个闰秒表,我在这里得到了(该文件tzdata2013xx.tar.gz包含一个名为leapseconds)。每隔几年,当宣布新的闰秒时,我必须手动更新此文件。我更愿意从标准 tzdata 中获取此信息,该信息每年通过系统更新数次自动更新。

我很确定这些信息隐藏在 /usr/share/zoneinfo/. 我已经能够使用struct.unpackman tzfile给出一些关于格式的信息)来提取其中的一些,但我从来没有让它完全工作。是否有任何标准软件包可以访问此信息?我知道pytz,它似乎从同一个数据库中获取标准 DST 信息,但它不能访问闰秒。我还找到了 tai64n,但查看它的源代码,它只包含一个硬编码表。

编辑

受到 steveha 的回答和pytz/tzfile.py中的一些代码的启发,我终于得到了一个可行的解决方案(在 py2.5 和 py2.7 上测试):

结果

虽然这确实解决了我的问题,但我可能不会选择这个解决方案。相反,我将按照 Matt Johnson 的建议在我的代码中包含leap-seconds.list 。这似乎是用作 tzdata 来源的权威列表,并且可能每年由 NIST 更新两次。这意味着我将不得不手动进行更新,但是这个文件很容易解析并且包含一个过期日期(似乎缺少 tzdata)。

0 投票
3 回答
3081 浏览

ruby-on-rails - 如何从过时的 TZInfo 标识符中获取 Rails 时区名称?

已经有一个问题回答了如何将“America/Los_Angeles”转换为“太平洋时间(美国和加拿大)”。但是我想将“美国/太平洋”和其他过时的时区转换为 Rails 时区。我无法在图书馆中找到任何可以帮助我完成此任务的东西。

0 投票
2 回答
211 浏览

ruby - 如何从 Ruby 时区对象中检索时区代码?

我正在使用 Ruby 1.9.3 和 gems timezone 0.3.1 和 tzinfo 0.3.38。我正在寻找时区的当前时区代码,例如“美国/纽约”现在的“EST”,或者夏天的“EDT”。我在文档中什么也没找到,但是当我使用以下代码转储对象时:

有一个包含 267 个“规则”的数组,每个规则都是一个哈希,其中“名称”包含我正在查找的值。有谁知道我应该如何确定哪个规则是当前的,以便我可以检索名称值?

0 投票
1 回答
853 浏览

ruby - 有没有办法获取本地时区的 TZInfo 样式字符串?

我需要尝试获取一个 TZInfo 样式字符串 a-la 'America/New_York' 代表我所在系统的本地时区。我不知道该怎么做。

这里的 TimezoneProxy#Etc/UTC 字段是我想要的样式,但 UTC 不是本地时间。

这里的“EST”不是我想要的,我看不到将 Time.now 或 EST 传递给 TZInfo 以获得我想要的方法?

有没有办法根据我当前的时区获取“America/New_York”甚至所有等效时区字符串的列表?