当前位置: 首页 > 知识库问答 >
问题:

如何检查是否为给定的UTC偏移启用了日光节约?

竺展
2023-03-14

我需要确定是否在Linux(Redhat)中为给定的UTC偏移启用了日光节约。我得到了UTC 05:30之类的输入。我检查了zdump命令的用法。当与时区名称一起使用时,我们可以检查输出中isdst的值,以确定夏令时的状态。

zdump-v/usr/share/zoneinfo/Asia/Kolkata | grep 2013

如上所述,zdump需要区域名称。它不接受UTC偏移。

我还尝试了localtime函数,如下所示。

time_t currtime;
struct tm * timeinfo;
timeinfo = localtime ( &currtime );
time_t local = mktime( timeinfo );
cout<<timeinfo->tm_isdst<<endl;

当在日期时间设置中设置时区名称时,上述代码起作用。如果系统使用UTC时间,则不起作用。当使用UTC时间时,我使用gmtime而不是localtime。

请让我知道是否有任何方法来确定是否启用dst或不使用UTC偏移量。

共有2个答案

柯乐童
2023-03-14

UTC偏移量不足以确定是否启用了DST,因为有些管辖区不使用DST。此外,那些确实有不同的生效时间表的国家(例如,南半球和北半球的国家)。您需要的是一个最新的表,其中包含使用DST的时区名称,以及每个时区的DST开始和停止时间。

王才英
2023-03-14

这通常是不可能的。许多国家可能会使用UTC 05:30,每个国家都有不同的夏令时政策。

 类似资料:
  • 问题内容: 我正在使用以下代码 这可以启用或禁用它 但我想作为函数说函数名是 那么我可以按照我的网站代码中的任意位置来称呼它 与我先前的问题几乎相同,请检查是否启用了allow_url_fopen 问题答案: 只需从函数中返回现有支票即可。

  • 问题内容: 我正在一个需要JavaScript和会话的页面上工作。我已经有代码来警告用户是否禁用了javascript。现在,我想处理禁用cookie的情况,因为会话ID存储在cookie中。 我只想到了几个主意: 将会话ID嵌入链接和表单中 警告用户如果禁用了cookie,则必须启用cookie(需要帮助来检测cookie是否被禁用) 解决此问题的最佳方法是什么?谢谢 编辑 根据链接的文章,我想

  • 问题内容: 我一直在做一些关于CoreLocation的研究。最近,我遇到了一个问题,该问题已在其他地方解决,但在Objective C和iOS 8中已涵盖。 我觉得这有点愚蠢,但是如何在iOS 9上检查是否使用swift启用了定位服务? 在iOS 7(甚至可能是8?)上,您可以使用,但是在为iOS 9编译时似乎无法正常工作。 那我该怎么做呢? 谢谢! 问题答案: 将添加到您的类继承中,然后可以进

  • 问题内容: 如果有和,如何检查用户给出的日期是否在该范围内? 例如 目前日期是字符串,将它们转换为时间戳整数是否有帮助? 问题答案: 使用strtotime将它们转换为时间戳是正确的方法,例如

  • 问题内容: 下面的代码不适用于某些输入。 我最初的想法是检查每个输入是否为2的幂,方法是从1开始乘以2直到超过输入数量,然后在每个步骤进行比较。相反,我预先存储了2的所有幂,以便检查中的给定输入。如何改善呢? 问题答案: 将 _ 最好的,最准确_ 的方法是使用位操作: 说明: 2的每个幂将1位恰好设置为1(该数的对数以2为底的索引中的位)。因此,当从中减去1时,该位​​翻转为0,而所有在前位翻转为

  • 问题内容: 我在想,如果有可能,以检查是否被启用 的Apache 和 IIS 在 。 *存在用于IIS的 *ModRewrite 。检查一下。 因此,我正在寻找一个在 Apache 和 IIS 上进行检查的PHP脚本 。 有谁知道这样的脚本或可以写一个? 特别是对于Microsoft IIS 。 谢谢! 问题答案: 如果您使用的是mod_php,则可以使用。这将返回所有已启用模块的数组,因此要检查