定义特定回声的时区

时间:2017-05-04 02:42:31

标签: php datetime scripting

所以我目前正在尝试在页面的标题中发送问候语。如果时间是< />,它应该说“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 个答案:

答案 0 :(得分:1)

因为PHP在服务器上运行,所以它无法检索用户的时区。幸运的是,Javascript在客户端上运行。您可以使用Javascript获取用户的时区,并使用Ajax将其发送到服务器。

使用Javascript获取时区:

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

您可以在此处查看更多详细代码:Determine a User's Timezone