Php 创建基于事件的站点时,需要考虑哪些日期/时间因素?

Php 创建基于事件的站点时,需要考虑哪些日期/时间因素?,php,datetime,timezone,Php,Datetime,Timezone,我想知道如何处理日期和时间,如果我们做任何网站,我们要求用户创建evite.com等evetns。我的困惑是,如果我为8月5日创建一个活动,然后邀请来自不同地方(活动国家以外)的200人参加,evite如何发送提醒,因为在某些国家时间不同,即在某些国家仍然是第四位,但在某些国家是第五位。另外,当我们进行任何时间计算时,服务器都会占用站点托管的时间,这是正确的方法吗 请放点灯 在存储之前,请将所有时间转换为GMT。这样你就有了整个地球的共同日期/时间 您还需要让您的成员指定他们所在的时区,以便您可

我想知道如何处理日期和时间,如果我们做任何网站,我们要求用户创建evite.com等evetns。我的困惑是,如果我为8月5日创建一个活动,然后邀请来自不同地方(活动国家以外)的200人参加,evite如何发送提醒,因为在某些国家时间不同,即在某些国家仍然是第四位,但在某些国家是第五位。另外,当我们进行任何时间计算时,服务器都会占用站点托管的时间,这是正确的方法吗

请放点灯


在存储之前,请将所有时间转换为GMT。这样你就有了整个地球的共同日期/时间


您还需要让您的成员指定他们所在的时区,以便您可以在正确的时间为他们显示事件。

服务器时间没有用处

对于未来事件,您必须以“yyyy-mm-dd hh:mm:ss”的形式存储事件的时间和事件的时区(例如“欧洲/里斯本”)。不要存储时间戳和时区,除非它是某种天文事件,其时间不取决于事件发生国家/地区的法定时间,而是取决于某个绝对时间点

然后,您可以这样计算事件的时间(例如):


进一步阅读:

这是不够的。请看我链接到的文章。嗨,谢谢。我明天会读这篇文章并尝试一些东西。谢谢,我希望我能在当前设置中使用这些技术。我从用户那里得到了2010-08-02格式的日期,我需要看看如何根据您的笔记和文章进行操作,以便在全世界显示正确的事件日期。我使用这个日期,然后使用一些javscript计算网页上的日小时月差,如“事件将在3D4h10M中发生。我将不得不看看是否需要修改一些内容。但再次感谢您的快速帮助。
//Let's say the event happens in Lisbon
$d = new DateTime("2010-08-10 17:00:00", new DateTimeZone("Europe/Lisbon"));
echo "The event occurs on ", $d->format("r"), " (local time).";
//let's say the user is in India
$d2 = $d->setTimezone(new DateTimeZone("Asia/Calcutta"));
echo "The event occurs on ", $d->format("r"), " (your time).";