2015-10-26 65 views
0

我得到了這一點得到同時明年PHP

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. 我的問題是我如何設置時間校正TLY?
  2. 時間從哪裏來?
  3. 我如何獲得明年的正確時間?
+2

你可以使用'的strtotime(「+ 1年」);'(時間設置你的服務器上,而不是在您的計算機上)明年 –

+0

時間:' <?php $ date = strtotime(date(「Ymd」,strtotime((「2015-10-26」)))。「+1 year」); 回聲日期(「Y-m-d」,$ date); ?> ' –

回答

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 
+0

一個問題我將如何得到當年的開始日期和時間。我認爲我在我的問題上犯了一個錯誤。我真正想要的是獲得當年的開始日期 – guradio

+0

@Pekka我不明白。一年的開始日期總是一月一日?或者你想要哪個開始日期? –

+0

我希望'$ time = strtotime(「+ 1 year」);'這一行將指向2015年1月1日00:00:00,這樣當我得到strftime()時,我得到了Jan i,2015抱歉,我是目前在這方面工作,我沒有意識到,這是我不需要今天的日期,但今年的開始日期是1月1 – guradio

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()函數設定用於所有日期/時間函數的默認時區 。

2

有關使用DateTime類是什麼?它可以是這樣的操作非常有幫助:

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