Php 帮助我了解时区(用于运输目的)

Php 帮助我了解时区(用于运输目的),php,datetime,timezone,Php,Datetime,Timezone,我正在使用一个配送api(与fedex一起使用),我需要填写的一些字段要求使用某种格式的datetime(我听说有人将其称为“zulu”,它看起来是这样的:2006-06-26T17:00:00-0400)(顺便问一下,用php格式化它的好方法是什么) 我希望能够通过使用邮政编码做到这一点。因此,如果我知道用户的邮政编码是12345,并且他们说他们希望在早上9点到12点之间取一个包裹,我可以用正确的偏移量格式化它 那么,我是否需要将偏移量或时区与zipcode相关联?我不确定我是否完全理解其中的

我正在使用一个配送api(与fedex一起使用),我需要填写的一些字段要求使用某种格式的datetime(我听说有人将其称为“zulu”,它看起来是这样的:2006-06-26T17:00:00-0400)(顺便问一下,用php格式化它的好方法是什么)

我希望能够通过使用邮政编码做到这一点。因此,如果我知道用户的邮政编码是12345,并且他们说他们希望在早上9点到12点之间取一个包裹,我可以用正确的偏移量格式化它

那么,我是否需要将偏移量或时区与zipcode相关联?我不确定我是否完全理解其中的区别。另外,如果他们想要在9到12之间,我会让时间戳的时间部分说9:00:00和偏移量吗


感谢您提供的指导。

要将邮政编码转换为时区,不幸的是您只能靠自己了。然而,我在谷歌上快速搜索了一下,你可能会感兴趣:

至于格式,你很幸运。PHP 5内置了以下功能:

date('c');

不幸的是,要将邮政编码转换为时区,您只能靠自己。然而,我在谷歌上快速搜索了一下,你可能会感兴趣:

至于格式,你很幸运。PHP 5内置了以下功能:

date('c');
这是一个地图,地图上有邮政编码和时区,当然还有州和城市。邮政编码对于匹配时区和夏令时变化的粒度来说是一个很好的选择,因为在印第安纳州这样的特殊情况下,不同的县决定是否遵守夏令时

至于使用这些数据的实现,请仔细阅读您的联邦快递API。这必须在其文档中明确说明。我猜你真正需要做的就是研究这个话题。别着急。慢慢来,因为你想第一次就做好。作为一名初级开发人员,我参与过几个项目,管理层忽略了时区,后来付出了高昂的代价

首先:是GMT和UTC的同义词,这两个术语都表示类似的意思,并且倾向于互换使用。当使用时,它们意味着无论什么日期和时间都与一个公共参考点有关,该参考点恰好穿过格林威治(因此GMT=格林威治平均时间)

无论您做什么,无论您如何存储数据,请确保始终可以根据该值计算zulu/utc/gmt,或者更好的做法是,存储zulu并调整客户端时区的显示。有好几种方法。在这里它是特定于Sql Server的,但是概念和策略应该可以映射到您正在使用的任何类型的db或持久存储

对于问题的最后一部分,您应该分别存储这两个时间。“中间”一词意味着两种价值观,这是正确的做法。除了更加完整之外,这种类型的解决方案将帮助您解决“如果夏令时开关的开始时间是晚上11:00,结束时间是凌晨2:00怎么办?”

祝你好运

p.S.这里是一个例子。这是针对MS堆栈的,但很有趣,并支持我的一些断言。例如,最好存储UTC/GMT,然后转换。。。但是通读这些答案,它们都有一些有效的要点,而且都很简短。

这里有一个地图,可以显示邮政编码和时区,当然也可以显示州和城市。邮政编码对于匹配时区和夏令时变化的粒度来说是一个很好的选择,因为在印第安纳州这样的特殊情况下,不同的县决定是否遵守夏令时

至于使用这些数据的实现,请仔细阅读您的联邦快递API。这必须在其文档中明确说明。我猜你真正需要做的就是研究这个话题。别着急。慢慢来,因为你想第一次就做好。作为一名初级开发人员,我参与过几个项目,管理层忽略了时区,后来付出了高昂的代价

首先:是GMT和UTC的同义词,这两个术语都表示类似的意思,并且倾向于互换使用。当使用时,它们意味着无论什么日期和时间都与一个公共参考点有关,该参考点恰好穿过格林威治(因此GMT=格林威治平均时间)

无论您做什么,无论您如何存储数据,请确保始终可以根据该值计算zulu/utc/gmt,或者更好的做法是,存储zulu并调整客户端时区的显示。有好几种方法。在这里它是特定于Sql Server的,但是概念和策略应该可以映射到您正在使用的任何类型的db或持久存储

对于问题的最后一部分,您应该分别存储这两个时间。“中间”一词意味着两种价值观,这是正确的做法。除了更加完整之外,这种类型的解决方案将帮助您解决“如果夏令时开关的开始时间是晚上11:00,结束时间是凌晨2:00怎么办?”

祝你好运


p.S.这里是一个例子。这是针对MS堆栈的,但很有趣,并支持我的一些断言。例如,最好存储UTC/GMT,然后转换。。。但是通读这些答案,它们都有一些有效的要点,而且都很简短。

“Zulu”的意思是UTC,即偏移量+0。它不是指您指定的格式,即RFC 3339,也是ISO-8601的W3C配置文件。“Zulu”表示UTC,即偏移量+0。它没有引用您指定的格式,即RFC 3339,也是ISO-8601的W3C配置文件。国际日期行位于太平洋;本初子午线穿过格林威治。格林威治时间和UTC(虽然有区别,但对本次讨论来说并不重要)是格林威治的时间,不会因为夏令时的规定而改变。@David:日期线的把握不错。不知道我在想什么。我相应地调整了我的答案。国际日期