php获取悉尼时间,php在使用澳大利亚/悉尼时区时给出错误答案

为什么它说5,为什么这在技术上是正确的

在Sydney,DST开始于2013-10-06 02:00:00 – 所以你跨越那个日期会失去一个小时.

当你调用strtime时,它会将时间解释为悉尼时间,但返回一个Unix时间戳.如果您将第二组时间戳转换为UTC,则会得到2013-09-30 14:00:00到2013-10-06 13:00:00的范围,这不是6天,所以得到向下舍入到5.

如何获得忽略DST转换的时差

请尝试使用DateTime对象,例如

$tz=new DateTimeZone('Australia/Sydney');

$start=new DateTime('2013-10-01', $tz);

$end=new DateTime('2013-10-07', $tz);

$diff=$end->diff($start);

//displays 6

echo "difference in days is ".$diff->d."\n";

为什么DateTime :: diff的工作方式不同?

你可能会问“为什么会这样?” – 毕竟,在这些时间之间确实没有6天,它是5天23小时.

原因是DateTime::diff实际上纠正了DST转换.我不得不阅读源代码来解决这个问题 – 修正发生在内部timelib_diff函数中.如果满足以下所有条件,则会发生此更正

>每个DateTime使用相同的时区

>时区必须是地理ID,而不是GMT这样的缩写

>每个DateTime必须具有不同的DST偏移(即一个在DST中,一个不在DST中)

为了说明这一点,如果我们在切换到夏令时的任何一侧使用两次几个小时就会发生这种情况

$tz=new DateTimeZone('Australia/Sydney');

$start=new DateTime('2013-10-06 00:00:00', $tz);

$end=new DateTime('2013-10-06 04:00:00', $tz);

//diff will correct for the DST transition

$diffApparent=$end->diff($start);

//but timestamps represent the reality

$diffActual=($end->getTimestamp() - $start->getTimestamp()) / 3600;

echo "Apparent difference is {$diffApparent->h} hours\n";

echo "Actual difference is {$diffActual} hours\n";

这输出

Apparent difference is 4 hours

Actual difference is 3 hours

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

动画---图形图像与动画(三)Animation效果的XML实现

使用XML来定义Tween Animation 动画的XML文件在工程中res/anim目录&#xff0c;这个文件必须包含一个根元素&#xff0c;可以使<alpha><scale> <translate> <rotate>插值元素或者是把上面的元素都放入<set>元素组中&#xff0c;默认情况下&#…

java怎么输出点,Java实现控制台输出两点间距离

计算两点之间的距离然后在控制台输出&#xff0c;这个题目还是挺简单的。下面我们来看看具体代码。package com.swift;import java.util.Scanner;public class PToP {public static void main(String[] args) {Scanner scannew Scanner(System.in);System.out.println("请…

bzoj 2905 背单词

Description 给定一张包含N个单词的表&#xff0c;每个单词有个价值W。要求从中选出一个子序列使得其中的每个单词是后一个单词的子串&#xff0c;最大化子序列中W的和。 Input 第一行一个整数TEST&#xff0c;表示数据组数。 接下来TEST组数据&#xff0c;每组数据第一行为一…

php的gd库处理大的图片,PHP的gd库处理图片

gd库为图片加文字水印和图片输出$number $result[certno];//设置水印内容$file ./Uploads/certs/ . $number . .jpg;if(!is_file($file)){$src ./template/public/img/zhengshu.jpg;//定义图片地址$info getimagesize($src);//获取图片信息$type image_type_to_extension(…

dedecms模版php,dedecms专题模板怎么用

dedecms专题模板怎么用&#xff1f;DeDeCms的专题相关信息bbs上相对较少&#xff0c;之前查阅了很多资料都未找到其解决方案推荐学习&#xff1a;织梦cms无柰只有靠自己动手丰衣足食&#xff1b;在官方的版本上有这样的一段话&#xff1a;1、文章列表用ID1,ID2,ID3这样形式分开…

Windows中断那些事儿

搞内核研究的经常对中断这个概念肯定不陌生&#xff0c;经常我们会接触很多与中断相关的术语&#xff0c;按照软件和硬件进行分类&#xff1a; 硬件CPU相关&#xff1a; IRQ、IDT、cli&sti 软件操作系统相关&#xff1a; APC、DPC、IRQL 一直以来对中断这一部分内容弄的一知…

php值对象模式场景,php设计模式介绍之值对象模式第1/5页

例如&#xff1a;通常用一个对象描述一个日期、一个数字或者货币。日期、整数或美元的类定义是都是便于使用的、快捷、便于封装的&#xff0c;并且方便进行拷贝&#xff0c;相互比较&#xff0c;甚至是创建。 从表面上看&#xff0c;这些描述简单的对象很容易被执行&#xff1a…

5月17日 AJAX 之 XML

主页面&#xff1a; <head> <script src"../jquery-2.2.3.min.js"></script> </head><body> <select id"sel"></select> </body> <script type"text/javascript"> $(document).ready(fun…

oracle 修改字段长度 用时,Oracle修改字段长度以及计算天数

sql修改字段长度的语法&#xff1a;alter table 表名 modify 字段名 字段类型;sql修改字段长度的示例代码alter table qtline modify qtl_bidernote VARCHAR2(4000);标准SQL&#xff0c;对任何数据库都适用alter table fzrtmis.reporttemplate modify REPNAME varchar(100)&…

(1-1)文件结构的升级(Area和Filter知识总结) - ASP.NET从MVC5升级到MVC6

ASP.NET从MVC5升级到MVC6 总目录 MVC5项目结构 带有Areas和Filter的项目结构 一般来说&#xff0c;小的MVC项目是不考虑领域的&#xff0c;但是&#xff0c;如果是稍微复杂一点的项目&#xff0c;往往是需要领域这个概念的。 一个领域就是一个小型的MVC项目&#xff0c;所以领域…

oracle数据库存储结构语句,oracle基本语句(第五章、数据库逻辑存储结构管理)...

1、使用SYS用户以SYSDBA身份登录到SQL Plus&#xff0c;使用视图V$TABLESPACE查看表空间信息SELECT * FROM V$TABLESPACE;2、查看视图DBA_TABLESPACES查看所有表空间的属性和在线状态SELECT TABLESPACE_NAME, CONTENTS, STATUSFROMDBA_TABLESPACES;--表空间名&#xff0c;表空间…

重启模块与及关开邮件存储设置功能页面-PHP-shell-py

邮件系统几百台&#xff0c;每台负责 grep -P "^ip\d.\d." /home/mymail/newconf/hosts.conf -c465 每台机器负责启动的模块又是不一样的如&#xff1a; A机器&#xff1a; ProgramsList"1svr,2svr,3svr,4svr," b机器&#xff1a; ProgramsList"asvr,…

oracle 表达式1000,oracle环境下占用编号的方法报语法错误:ORA-01795: 列表中的最大表达式数为 1000...

oracle 环境下&#xff0c;调用方法NumberCodeGenerateManager.OcuppyModelNumberCodesAfterSaved(ObjectID, modelID, ds)进行编号占用。当DataSet的数据行数〉1000时&#xff0c;会报语法错误&#xff1a;ORA-01795: 列表中的最大表达式数为 1000。跟踪语句如下&#xff1a;u…

奋斗路上的励志

当初看蜘蛛侠印象最深的一句台词就是“你是怎么样的人取决于你选择做什么样的人”。 昨天的你&#xff0c;你不可能完全忘记&#xff0c;但是你知道你曾经有多可耻卑微&#xff0c;重要的是你要做什么样的人&#xff0c;明天你会是什么样的你&#xff0c;重在做好现在的你。 坚…

用IIS配置反向代理

https://natapp.cn/ http://blog.csdn.net/g2321514568/article/details/12406755 目标服务器&#xff1a;targetServer 配置反向代理的服务器&#xff1a;reveseProxServer 1、确定最终访问的网址&#xff1a;比如www.baidu.com 、www.csdn.net等等。 当然你也可以自己在targ…

oracle存储过程使用ftp,ASM存储FTP上传文件

引用SQL>execute dbms_xdb.sethttpport(8080);SQL>execute dbms_xdb.setftpport(2100);SQL>commit;检查端口是否开启引用SQL> select dbms_xdb.GETHTTPPORT() from dual;DBMS_XDB.GETHTTPPORT()----------------------8080SQL> select dbms_xdb.GETFTPPORT() fr…

Python学习笔记——基础篇【第六周】——hashlib模块

常用模块之hashlib模块  用于加密相关的操作&#xff0c;3.x里代替了md5模块和sha模块&#xff0c;主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 &#xff0c;MD5 算法 import md5 hash md5.new() hash.update(admin) print hash.hexdigest() MD5-废弃import shahash sha…

oracle数据库领域,菜鸟成长课程之《Oracle数据库职业直通车》,引领大家真正进入Oracle数据库领域...

课程简介&#xff1a;近年来&#xff0c;Oracle数据库无疑是全球数据库领域中的领航者&#xff0c; Oracle DBA的待遇节节攀升&#xff0c; 导致了许多人希望转入这个行业。而Oracle数据库又因它的庞大和复杂另很多人望而却步&#xff0c;找不到入门的捷径。本课程是专门为在校…

虚拟存储

为解决日益增长的内存需要&#xff0c;有以下几种解决办法&#xff1a; 1.覆盖&#xff1a; 将程序划分成几个模块&#xff0c;将没有调用关系的模块&#xff08;即不会同时运行的模块&#xff09;分成一组&#xff0c;其中每组所占的内存大小为组内所需内存最大的模块的内存&a…

oracle 12542,TNS-12542: TNS:address already in use

研发说无法访问数据库&#xff0c;数据库正常运行&#xff0c;那就可能是监听有问题&#xff0c;一波简单操作搞定。[oracleentegor-1 ~]$ lsnrctl startLSNRCTL for Linux: Version 11.2.0.4.0 - Production on 17-AUG-2018 09:04:01Copyright (c) 1991, 2013, Oracle. All ri…