问题标签 [timezone]
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.
asp.net - 你能从请求变量中确定时区吗?
有没有办法在服务器端进行时区偏移,通过 http 读取请求中的内容,而不是将所有内容发送给客户端并让它处理它?
php - 在 PHP 中处理时区
PHP 中时区的一些问题已经在我脑海中浮现了一段时间,我想知道是否有比我目前正在做的更好的方法来处理它。
所有问题都围绕重新格式化数据库存储日期:
在处理必须支持多个时区(对于用户)的站点时,为了规范存储时间戳的时区,我总是使用CURRENT_TIMESTAMP
属性或NOW()
函数将它与服务器时区一起存储。
这样我就不必考虑在输入时间戳时为 PHP 设置的时区(因为 PHP 时间函数是时区感知的)。对于每个用户,根据他的偏好,我使用以下命令在引导文件中的某处设置时区:
当我希望使用 phpdate()
函数格式化日期时,必须进行某种形式的转换,因为 MySQL 当前以格式存储时间戳Y-m-d H:i:s
。不考虑时区,您可以简单地运行:
问题在于它们都是时区感知函数date()
,strtotime()
这意味着如果 PHP 时区的设置与服务器时区不同,则时区偏移量将应用两次(而不是我们想要的一次)。
为了解决这个问题,我通常使用UNIX_TIMESTAMP()
不支持时区的函数来检索 MySQL 时间戳,允许我date()
直接应用它——从而只应用一次时区偏移量。
我不太喜欢这种“hack”,因为我不能再像往常一样检索这些列,或者*
用来获取所有列(有时它大大简化了查询)。此外,有时它根本不是一个使用选项UNIX_TIMESTAMP()
(尤其是在使用没有太多抽象查询组合的开源包时)。
另一个问题是在存储时间戳时,当使用CURRENT_TIMESTAMP
orNOW()
不是一个选项时 - 存储 PHP 生成的时间戳会将它与我想避免的时区偏移一起存储。
我可能在这里遗漏了一些非常基本的东西,但到目前为止,我还没有想出一个通用的解决方案来处理这些问题,所以我不得不逐个处理它们。非常欢迎您的想法
ruby-on-rails - 在 Rails 中是否有用于选择时区的图形小部件?
我知道时区有一个下拉选择器,但我希望有一张地图,用户可以在其中单击一个区域并为其设置一个隐藏字段以显示时区。
ruby-on-rails - 有没有办法根据地理编码位置获取时区的 UTC 偏移量?
当我有用户的地址或邮政编码并使用它来查找他们的时区时,这将很有用,因此他们不必在单独的字段中输入它。
java - 如何直接读取 JRE 发行版中包含的时区文件?
Java 的时区信息保存在名为“zi”的文件夹中。例如。C:\Program Files\Java\jdk6\jre\lib\zi
此文件夹中的文件为二进制格式。但对我来说,确切地看到他们所说的话非常重要。
任何人都可以分享一种方法来阅读这些文件,还是它们是 Sun 专有的?
python - 命令行世界时钟?
是否有脚本可以在 *nix 终端上显示简单的世界时钟(世界各地的时间)?
我正在考虑编写一个快速的 Python 脚本,但我感觉工作量会比我想象的要多(例如,由于配置和输出格式)——更不用说重新发明轮子了……
c# - .NET 将数字转换为时区值
假设我有值:-5 表示时区 (GMT-5)。
如何将其转换为:“Central DST”或使用 C# 和 .NET 框架的类似文本?
谢谢!
python - 如何获取给定时区的“午夜”UTC 时间?
我现在能想到的最好的就是这个怪物:
即,在英语中,获取当前时间(UTC),将其转换为其他时区,将时间设置为午夜,然后转换回 UTC。
我不只是使用 now() 或 localtime() 因为这将使用服务器的时区,而不是用户的时区。
我不禁觉得我错过了一些东西,有什么想法吗?
sql - Sqlite:CURRENT_TIMESTAMP 是 GMT,不是机器的时区
我有一个带有此列定义的 sqlite (v3) 表:
此数据库所在的服务器位于 CST 时区。当我在不包含时间戳列的情况下插入表时,sqlite 会自动使用 GMT 中的当前时间戳填充该字段,而不是 CST。
有没有办法修改我的插入语句以强制存储的时间戳在 CST 中?另一方面,最好将它存储在 GMT 中(例如,以防数据库移动到不同的时区),所以有没有办法可以修改我的选择 SQL 以将存储的时间戳转换为 CST从表中提取它?
datetime - 在哪里进行转换 - 时区、计量单位等
应该在代码的哪里进行转换?客户端、服务器、业务还是数据库?
我们目前在我们的数据库中进行时区和计量单位的转换,性能正在扼杀我们,并希望移动逻辑。你认为最好的位置在哪里?
谢谢