在php中设置应用程序时区加一周

时间:2017-04-05 06:22:17

标签: php date timezone

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

我在代码

下设置了时区
date_default_timezone_set('Asia/Kolkata'); 

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

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

date("Y/m/d")  

我需要获得输出4月12日至2017年。

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

请帮助,谢谢

4 个答案:

答案 0 :(得分:2)

您需要手动执行此操作。您可以使用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

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

答案 1 :(得分:2)

尝试下面的一个:

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

答案 2 :(得分:2)

您可以使用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

答案 3 :(得分:1)

一周是7 * 24 * 60 * 60 = 604800秒。因此,在将服务器上的所有内容都保留下来的同时,一周之后就是:

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

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

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

它看起来更好。