【问题标题】:PHP - manually create date containing difference to greenwichPHP - 手动创建包含与格林威治差异的日期
【发布时间】:2011-07-18 03:23:19
【问题描述】:

我开发了使用 PayPal Adaptive Payments 的应用程序,对于 Preapproval 调用,我需要发送 startDate 和 endDate 变量,它们应该采用以下格式:

2004-02-12T15:19:21+00:00

现在 - 由于应用程序是国际化的,因此有不同的时区,所以我需要根据特定人员的时区发送每个预先批准 - 知道如何从标准 mysql 日期(Ymd)创建上述格式的日期H:i:s) ?

我有一个格林威治值的差异表(即 +01:00,+02:00),其中的值与用户相关联 - 所以我可以将它作为参数传递给创建日期和时间。

我认为值得一提的是,我在配置中设置了默认时区:

date_default_timezone_set('UTC');

任何帮助将不胜感激。

【问题讨论】:

    标签: php mysql datetime date timezone


    【解决方案1】:

    也许我误解了您的问题...但是您可以通过将这些“+2:00”差异解析为小时来计算每个用户的时间,并以这种方式使用它:

    date('c', strtotime('+2 hours'));
    

    如果您的服务器时间是 UTC,这将为您的“+2:00”用户提供当前时间

    对于您执行的自定义日期 date('c', strtotime('+2 hours', strtotime($customDate)));

    【讨论】:

    • 是的 - 但我需要的是以下格式的输出:2004-02-12T15:19:21+00:00
    • 我指定了这种格式(字符串 'c' 告诉 date() 以 ISO 8601 日期格式输出)。自己试试吧:echo date('c');
    猜你喜欢
    • 2016-06-17
    • 2019-11-25
    • 2018-12-01
    • 1970-01-01
    • 2011-05-13
    • 2013-03-10
    • 2010-12-02
    • 2010-12-20
    相关资源
    最近更新 更多