2017-05-04 50 views
0

所以我目前正在嘗試在我的頁面的標題中發送問候語。如果時間爲</>,應該說「Good Day」或「Good Evening」等,但是應該是用戶時間/時區。但是當收到問候語時,根據我的時區,它沒有顯示我設定的小於或大於正確的一個。我在德國。人們來自世界各地。那麼有沒有辦法根據你的時區接收正確的回聲?如果是這樣,當訪問者的時區= =設定的小時數時,我希望顯示回聲。爲特定回聲定義時區

<?php 
 
$time = date("H"); 
 
if (time < "4") {echo '<h1 id="Welcm">Welcome, Good Night</h1>';} 
 
else if (time < "12") {echo '<h1 id="Welcm">Welcome, Good Morning</h1>';} 
 
else if (time > "12") {echo '<h1 id="Welcm">Welcome, Good Day</h1>';} 
 
else if (time > "18") {echo '<h1 id="Welcm">Welcome, Good Evening</h1>';} 
 
else if (time > "23") {echo '<h1 id="Welcm">Welcome, Good Night</h1>';} 
 
else {echo '<h1 id="Welcm">Welcome, Good Day</h1>';} 
 

 
?>

對不起,不知道哪個代碼片段,我應該挑選PHP作爲有沒有爲PHP。

所以這個工作,像它應該,但不是在正確的時區。 我希望正確的問候根據時區來顯示,而時區總是訪客特定的。正如Amerika/New_York應該出現的那樣,德國/柏林等也是如此。如果不這樣做,問候是值得的,沒有任何作用。

回答

1

由於PHP在服務器上運行,因此無法檢索用戶的時區。幸運的是,Javascript運行在客戶端上。您可以使用Javascript來獲取用戶的時區,並使用Ajax將其發送到服務器。

使用JavaScript獲取時區:

var d = new Date() 
var n = d.getTimezoneOffset(); 

您可以在這裏獲得更多的詳細信息代碼:Determine a User's Timezone

+0

還是因爲它是一個簡單的問候就可以完全用JavaScript來實現。你不必在服務器端做任何原因 –

+0

@ nikos.svnk完全同意 –

+0

當試圖執行時,java獲取的時間可能是錯誤的,或者當試圖跟隨給var的或w3schools.com – xFgn