2015-10-21 65 views
-1

我試圖在php(wordpress)中添加+2小時日期函數可視化功能。
我的代碼是在php中添加2小時日期格式

function my_last_login() { 
return 'j F Y H:i'; 
} 

它打印2015年10月21日15時36分,我想2015年10月21日17時36
我已經用的strtotime試過,但我不是在PHP好。 我試圖

function my_last_login() { 
return ('j F Y H:i',strtotime('+2 hours')); 
} 
+1

這不是很清楚。這個函數叫什麼名字?調用'my_last_login'將簡單地回顯'j F Y H:i'。 –

+0

'return'這一行j F H H:i';'只是返回該字符串,所以必須在其他地方添加時間信息 - 您需要在那裏修改代碼。但是您的要求讓我有點懷疑,您是否試圖解決時區問題? – fvu

+0

@ giangi90你的代碼很好,只需在'return'後面加'date'。另外,使用第二個代碼,你不需要設置時區。 –

回答

3

怎麼樣找到正確的時區,並把它到date_default_timezone_set()功能?這裏是timezones的列表。您只需要找到距離您的時間+2小時的時區。

0

如果my_last_login只是return日期格式string那麼您將無法在功能中添加2小時。

你必須尋找到my_last_login被調用,以修改日期。

日期修改的一個例子:

$date_format_string = 'j F Y H:i'; 
$test_date_string = "21 October 2015 16:37"; 
$test_date_timestamp = strtotime($test_date_string); 
$test_date = date($date_format_string, $test_date_timestamp); 
$future_date_timestamp = strtotime($test_date_string . " +2 hours"); 

echo "Test Date (string): " . $test_date_string; 
echo "<br>"; 
echo "Test Date Timestamp (integer): " . $test_date_timestamp; 
echo "<br>"; 
echo "Future Date Timestamp (+2 Hours): " . $future_date_timestamp; 
echo "<br>"; 
echo "Future Date (string): " . date($date_format_string, $future_date_timestamp); 

PHP date接受兩個參數,string $formatint $timestamp;它會返回一個格式化的日期字符串。

php strtotime接受兩個參數string $timeint $timestamp;它成功返回一個時間戳這將是完美的date

以上會輸出以下內容:

Test Date (string): 21 October 2015 16:37 
Test Date Timestamp (integer): 1445445420 
Future Date Timestamp (+2 Hours): 1445452620 
Future Date (string): 21 October 2015 18:37 
2

按照php documentation你可以做一些與此類似:

<?php 
    $date = new DateTime('2000-01-01'); 
    $date->add(new DateInterval('P2H')); 
    echo $date->format('Y-m-d H:i:s') "\n"; 
    ?> 

或 您可以將日期時間爲您的時區時間,避免加重或在此page的例子減去 看,這裏是從p一個代碼片段年齡:

// Specified date/time in the specified time zone. 
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru')); 
echo $date->format('Y-m-d H:i:sP') . "\n";