【问题标题】:Set application timezone Plus one week in php在php中设置应用程序时区加一周
【发布时间】:2017-04-05 06:22:17
【问题描述】:

我想将我的 PHP 申请时间设置为 + 1 周。

我在代码下面设置了时区

date_default_timezone_set('Asia/Kolkata'); 

所以申请时间改为亚洲/加尔各答,但我想将申请时间改为+1周

例如:当我在应用程序中使用 php 代码打印日期时

date("Y/m/d")  

我需要得到输出 Apr-12-2017。

更改默认时区+1周是否可行,

请帮忙,谢谢

【问题讨论】:

  • 你为什么要这样做..?时区就是时区,您不能更改时区,但您可以将应用程序设置为特定时区。如果您想为所有日期添加一周,只需在每个 date() 函数的第二个参数中执行此操作。请参阅 php.net/datephp.net/strtotime - 或了解 DateTime 类。
  • 这是我的客户要求,我在 php 中有手动选项日期 + 1 周。但它不适合他的要求。
  • 我怀疑客户端的需求是那么具体,告诉你如何在 PHP 中实现某些东西。您可以在没有任何额外参数的情况下使用date() 的唯一方法是更改​​系统时钟,您不应该这样做。

标签: php date timezone


【解决方案1】:

您需要手动执行此操作。您可以使用DateTime 类进行日历计算。例如,要添加一周,您可以使用如下代码:

$date = new DateTime('05-04-2017');
$date->modify('+1 week');

或者,您可以选择strtotime

echo date('d-m-Y', strtotime("+1 week")); //1 week in the future

现在,您可以在项目中将日期变量值初始化为全局并在所需位置调用或根据需要在每个位置创建它。

【讨论】:

  • 扩展DateTime类,总可以加1周,以后不用每次都手动做。
【解决方案2】:

试试下面的一个:

<?php
echo date("Y/m/d", strtotime("+1 week"));

【讨论】:

    【解决方案3】:

    您可以使用 DateTime 类,并将其扩展为您自己的类,这总是为每个 DateTime 对象增加 1 周。

    因此,如果您使用new MyDateTime("now");,您将在一周后得到日期。如果你做了new MyDateTime("+1 week");,你会得到两周的时间(一个来自构造函数的参数,一个来自类构造函数内部的修改)。

    class MyDateTime extends DateTime {
        function __construct(string $time = "now", DateTimeZone $timezone = null) {
            parent::__construct($time, new DateTimeZone("UTC"));
            $this->modify("+1 week");
        }
    }
    
    $date = new MyDateTime();
    echo $date->format("F jS, Y")."\n"; // +1 week from now
    
    $one_week = new MyDateTime("+1 week");
    echo $one_week ->format("F jS, Y"); // +2 weeks from now
    

    Live demo

    【讨论】:

      【解决方案4】:

      一周是 7*24*60*60 = 604800 秒。因此,尽管将所有内容按原样保留在服务器上,但从现在开始的一周是:

      date('Y/m/d',time()+604800)
      

      但我更喜欢 Deep Kakkar 也提到的那个:

      date('Y/m/d',strtotime("+1 week"))
      

      它看起来更好。

      【讨论】:

        猜你喜欢
        • 2014-05-31
        • 1970-01-01
        • 2014-03-02
        • 2019-01-14
        • 2020-10-29
        • 2012-08-05
        • 2012-12-26
        • 1970-01-01
        相关资源
        最近更新 更多