得到明年的同一时间PHP

时间:2015-10-26 10:12:30

标签: php datetime

我明白了

time: 11:15:04 date: Oct 26, 2015

当我点击调用此代码的函数

$date = date("Y");
$timestamp = strtotime($date);
$isLeapYear = date("L", $timestamp);
($isLeapYear == 1)? $time_interval = 366 : $time_interval = 365;
$time = time() + $time_interval;
$hours = strftime("%H:%M:%S ",$time);
$date = strftime("%b %d, %Y",$time);
echo 'time: '. $hours;
echo 'date: '. $date;

我在电脑上的时间是

Time

  1. 我的问题是如何正确设置时间?
  2. 时间从何而来?
  3. 我怎样才能获得明年的正确时间?

3 个答案:

答案 0 :(得分:2)

使用DateTime课怎么样?它对这种操作非常有用:

$date = new DateTime();
$date->add(new DateInterval("P1Y"));

答案 1 :(得分:1)

如果您只想要完全相同的时间和日期加上一年:

你可以这样做:

$time = strtotime("+1 year");

并显示:

$hours = strftime("%H:%M:%S ",$time);
$date = strftime("%b %d, %Y",$time);
echo 'time: '. $hours;
echo 'date: '. $date;

要使此代码生效,您必须在服务器上设置正确的时区和时间。

而不是编写整个时间和日期格式,您可以设置正确的区域设置。

例如

setlocale(LC_ALL, 'de_CH', 'de_CH.ISO8859-1', 'de_CH.ISO8859-15', 'de_CH.UTF-8');
echo strftime("%x %X ",$time);
//will output
26.10.2016 11:27:23

答案 2 :(得分:0)

设置timezone使用date_default_timezone_set(): -

 //add this line 
    date_default_timezone_set("Asia/Bangkok");//your timezone
    $date = date("Y");
    $timestamp = strtotime($date);
    $isLeapYear = date("L", $timestamp);
    ($isLeapYear == 1)? $time_interval = 366 : $time_interval = 365;
    $time = time() + $time_interval;
    $hours = strftime("%H:%M:%S ",$time);
    $date = strftime("%b %d, %Y",$time);
    echo 'time: '. $hours;
    echo 'date: '. $date;
  

date_default_timezone_set()函数设置默认时区   由所有日期/时间函数使用。

相关问题