如何判断时区是否在一年中的任何时间遵守夏令时?

2024-04-08

在 PHP 中,您可以使用如下方法判断给定日期是否在夏令时期间:

$isDST = date("I", $myDate); // 1 or 0

问题是,这只能告诉您该时间点是否处于夏令时。有没有可靠的方法来检查 DST 在该时区的任何时间是否生效?


编辑以澄清:

  • 澳大利亚布里斯班在一年中的任何时间都不实行夏令时。全年均为 GMT+10。
  • 澳大利亚悉尼从 10 月到次年 3 月从 GMT+10 更改为 GMT+11。

我想知道是否有一些现有的方法,或者一种实现这样工作的方法的方法:

timezoneDoesDST('Australia/Brisbane');  // false
timezoneDoesDST('Australia/Sydney');  // true

我找到了一种使用 PHP 的 DateTimezone 类(PHP 5.2+)的方法

function timezoneDoesDST($tzId) {
    $tz = new DateTimeZone($tzId);
    $trans = $tz->getTransitions();
    return ((count($trans) && $trans[count($trans) - 1]['ts'] > time()));
}

或者,如果您运行的是 PHP 5.3+

function timezoneDoesDST($tzId) {
    $tz = new DateTimeZone($tzId);
    return count($tz->getTransitions(time())) > 0;
}

The getTransitions() http://php.net/manual/en/datetimezone.gettransitions.php函数为您提供有关时区每次偏移量更改的信息。这包括历史数据(布里斯班在 1916 年实行夏令时……谁知道呢?),所以这个函数检查未来是否有偏移量变化。

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

如何判断时区是否在一年中的任何时间遵守夏令时? 的相关文章

  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • 用户可以更改 PHP 中 $_SESSION 的值吗?

    这是我的想法 我想知道是否可能 将信息存储在 PHP 的 SESSION 变量中有多安全 在 SESSION 变量中存储变量有两个潜在的 不安全 风险 另一个答案所描述的第一个称为 会话固定 这里的想法是 由于会话 ID 存储在 cooki
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • 当操作系统显示语言为非英语时获取本地时区标识符

    奇怪的是 TimeZone CurrentTimeZone StandardName根据计算机显示语言返回本地化名称 我想要一个可以提供给的程序化标识符TimeZoneInfo在下面的代码中 TimeZoneInfo timeZoneInf
  • 如何从网站网址中隐藏 .html 扩展名

    我知道这个问题以前曾被问过 但有人知道隐藏 html 扩展名的好方法吗 我已经尝试了许多代码和许多答案https stackoverflow com https stackoverflow com 但我没有看到结果 那是我再问你一次 我有一
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • Nginx 502 网关错误。通过增加buffer来解决。为什么?

    我正在设置 LEMP 堆栈来运行 Drupal 我安装了 Nginx 和 PHP FastCGI Nginx 工作正常 但任何运行 PHP 的尝试都会出现错误 502 Bad Gateway 谷歌很快发现 nginx 502 错误网关 ht
  • 如何格式化 Highcharts 的 (x,y) 对数据的日期时间

    我的序列化方法会产生如下所示的日期时间字符串 2014 07 09T12 30 41Z 为什么下面的代码不起作用 function container highcharts xAxis type datetime series data x
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 带倒计时的php循环

    假设我从 400 开始计数器 我将如何执行一个向后运行直到 0 的 foreach 循环 伪代码 i 400 foreach SOMETHING do stuff i for i 400 i gt 0 i do stuff 其他方法 i 4
  • PHP 检查当前日期是在设定日期之前还是之后

    我从数据库中提取一个日期 其格式为 dd mm YYYY 我想做的是检查当前日期 如果当前日期早于数据库中的日期 则需要打印数据库日期 如果是在之后 则需要打印 继续 有人能指出我正确的方向吗 if strtotime database d
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • Laravel 搜索关系

    我有两个相关的模型 我正在尝试在产品中进行搜索 并且仅显示实际搜索结果 而不是找到该产品的类别的所有产品 我不想搜索任何类别 因为无论搜索什么或找到什么 类别都会始终显示 Example I have the following categ
  • 如何在 PHP 5.6 中通过 php.ini 设置“verify_peer_name=false”SSL 上下文选项

    案例 我想打开 SSL 连接localhost而 SSL 证书是 FQDN 的问题 问题 没有进行特殊处理就行 下面的程序失败并显示以下消息 PHP Warning stream socket enable crypto Peer cert

随机推荐

  • React-Bootstrap 下拉菜单组件上的自定义样式

    我正在尝试将自定义 css 样式应用到 React Bootstrap 组件 但无法弄清楚如何访问组件 JSX 中不明确的元素 例如
  • 如何禁用 NSScrollView 的垂直滚动?

    如何禁用 NSScrollView 的垂直滚动 我在 Google 上找不到快速解决方案 Thanks 在 NSScrollView 子类中试试这个 void scrollWheel NSEvent theEvent super scrol
  • 确定属性是否为 EF Core 中的导航属性

    我正在构建一个简单的更改跟踪器来捕获对 Sql Azure 数据库的所有编辑 不幸的是 据我所知 Sql Azure 本身不支持此功能 我正在遍历 ChangeTracker 返回的修改条目列表 foreach EntityEntry en
  • Android 和 iOS 如何扫描蓝牙信标而不出现电池问题?

    如果我想在 Android 或 IOS 中开发自己的 iBeacon 服务 它必须实用 这意味着客户可以使用我的服务而不会出现电池短缺的情况 我认为即使 iBeacon 技术基于蓝牙低功耗 它仍然可能缺乏电池 这是因为应用程序必须始终运行才
  • PIT未发现突变

    C Users TZ gt java cp C Users TZ Desktop femr master pitest command line 1 2 4 jar C Users TZ Desktop femr master pitest
  • 检查 JSON 对象中的值

    我需要查明 id 是否出现在我的 JSON 对象中 例如 requested 2009 07 25T14 12 25 01 00 channels id 1 name General created 2009 07 25 14 00 02
  • 声明静态成员的类装饰器(例如,对于 log4net)?

    我正在使用 log4net 我们的代码中有很多这样的内容 public class Foo private static readonly ILog log LogManager GetLogger typeof Foo 一个缺点是 这意味
  • 如何使用oauth2访问StackExchange API?

    我正在按照此处提到的说明进行操作 https api stackexchange com docs authentication https api stackexchange com docs authentication 但由于没有提供
  • KnockoutJS - 打印迭代索引作为输入名称

    我正在尝试结合 Spring MVC 创建我的第一个 KnockoutJS 表单视图 ModelAttribute捆绑 数据通过 Ajax 加载并使用 KnockoutJS 填充 通过 KnockoutJS 添加数据 通过 Ajax 和 K
  • 如何在 Matplotlib 中的 x 轴上分配相等的缩放比例?

    我目前拥有的是这样的 x 3 0 4 0 5 0 5 0 6 0 7 0 9 0 9 0 9 0 11 0 y 6 0 5 0 4 0 2 5 3 0 2 0 1 0 2 0 2 5 2 5 生成以下图表 我想要的是在我的轴上具有相同的缩放
  • 错误:无法使用反射定义类

    我正在用这个制作应用程序webpage https hackernoon com a guide to tdd a react redux todolist app part 1 b8a200bb7091 我尝试测试 e2e tests 但
  • 有没有便宜或免费的 VB6 编程 IDE? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 为什么 NSNumber 是不可变的?

    为什么 NSNumber 是不可变的 有充分的理由吗 因为现在我正在考虑创建自己的类只是为了可变性 一个数字是一个very基本数据类型 数字就是一个数字 如果你改变它 它就会变成别的东西 数字根本无法改变 与更复杂的数据相比 对象本身仍然代
  • WPF RadioButton InverseBooleanConverter 不工作

    我有两个 RadioButtons 我将它们绑定到 ViewModel 中的布尔属性 不幸的是 我在转换器中收到错误 因为 targetType 参数为空 现在我并不期望 targetType 参数为空 我期望 True 或 False 但
  • 仅将唯一项目添加到列表中

    当远程设备通过网络宣布自己时 我将其添加到列表中 我只想将之前未添加过的设备添加到列表中 这些公告是通过异步套接字侦听器发出的 因此添加设备的代码可以在多个线程上运行 我不确定我做错了什么 但无论我尝试什么 最终都会出现重复 这是我目前拥有
  • 开源项目如何实现有效的民主治理? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何成功实施民主 非BDFL http en wikipedia org wiki Benevolent Dictator For L
  • Node.JS PM2 内存泄漏

    我正在运行我的服务器pm2 start and pm2 monit正在向我展示3GB memory2个小时之后 所以我附加了memwatch 现在我又等了2个小时 再次显示内存pm2 monit到达3GB 因此 我检查了 memwatch
  • Gitlab - Xcode 无法连接远程存储库

    当我通过 Xcode 连接我的存储库时遇到问题 我在远程服务器上的 TurnkeyLinux 虚拟设备上安装了 Gitlab 版本 完全预装 在 Gitlab Web 界面中 我创建了一个新的测试用户 testuser 密码为 passwo
  • 通过“getDisplayMedia”检查浏览器/平台是否支持屏幕捕获

    我们可以通过以下方式请求媒体流到屏幕或窗口navigator mediaDevices getDisplayMedia 然而 这会立即提示用户决定使用哪种捕获 我需要检查浏览器 平台是否支持屏幕捕获 当然 也可以检查一下 getDispla
  • 如何判断时区是否在一年中的任何时间遵守夏令时?

    在 PHP 中 您可以使用如下方法判断给定日期是否在夏令时期间 isDST date I myDate 1 or 0 问题是 这只能告诉您该时间点是否处于夏令时 有没有可靠的方法来检查 DST 在该时区的任何时间是否生效 编辑以澄清 澳大利