我将以下内容上传到美国的服务器:
date_default_timezone_set('Asia/Calcutta');
echo date("Y-m-d H:i:s"); // time in India
显示的时间比印度的实际时间早15分钟。
我在这里做错了什么?什么代码将始终显示印度的时间精确到秒?
答案 0 :(得分:23)
它的拼写错误应该是这样的
date_default_timezone_set('Asia/Kolkata');
答案 1 :(得分:4)
date_default_timezone_set('Asia/Kolkata');
$timestamp = date("Y-m-d H:i:s");
答案 2 :(得分:2)
这都与服务器上设置的时间有关。检查服务器上是否确实设置了正确的时间 - 也许它设置的时区是15分钟?
答案 3 :(得分:2)
我在本地xampp服务器上测试代码时遇到了同样的问题。这就是我所做的,将时区默认设置更改为php.ini文件。
date_default_timezone_set( '亚/加尔各答');
是的,同意,并非完全必要
然后,在我的config.php文件中声明date_default_timezone_set('Asia / Kolkata'),完全有必要将时区设置为您当地的时区。
即使在此之后,我的时间和日期相隔12小时,这是捕获,在检查我的Windows操作系统设置时,我发现我的系统时间设置错误。在纠正我的(Windows)操作系统时区时,一切都运行良好。
答案 4 :(得分:1)
它只是拼写错误,应该是这样
date_default_timezone_set('Asia/Kolkata');
$timestamp = date("Y-m-d H:i:s");
答案 5 :(得分:0)
$ab = date_default_timezone_get();
date_default_timezone_set($ab);
echo date('dd-mm-Y H:i:s');
答案 6 :(得分:0)
<?php
class datashow extends connection{
function __construct(){}
function showData($id){
$iddate=$_SESSION["datesession"];
$qry = "SELECT * FROM data where EnNo='$id' group by Date order by Date DESC";
$qry1 = "SELECT * FROM data where EnNo='$id' order by Date DESC";
$row=mysqli_query($this->conn, $qry) or die ("query Failed...!");
$row1=mysqli_query($this->conn, $qry1) or die ("query Failed...!");
while($rec=mysqli_fetch_array($row)){
echo "<tr>";
echo "<td class='text-center'>".$rec['Date']."</td>";
while($rec1=mysqli_fetch_array($row1)){
$time1=$rec1["Time"];
$time = explode(':', $time1);
if($time[0] <= 12){
echo "<td class='text-center' id='timeIn'>".$time[0].":".$time[1].":".$time[2]."</td>";
}
else if ($time[0] >= 12){
echo "<td class='text-center' id='timeOut'>"."-"."</td>";
echo "<td class='text-center' id='timeOut'>".$time[0].":".$time[1].":".$time[2]."</td>";
}
}
echo "</tr>";
}
}
function __destruct(){}
}
if (isset($_REQUEST["btnsub"])){
$objcon = new datashow;
$objcon->setconnection();
$objcon->showData($_REQUEST["btnsub"]);
$objcon->CloseCon();
}
?>