伙计们我想用PHP获得正确的印度时间和日期
我试过这段代码:
$date = date("d/m/Y");
$date1 = date("H:i a");
if(function_exists('date_default_timezone_set'))
{
date_default_timezone_set("Asia/Kolkata");
}
echo $date;
echo $date1;
但我没有得到正确的时间。我的时间已经过了4.30
小时。我的代码中有错误吗?
答案 0 :(得分:6)
在使用任何日期函数之前先放置时区声明:
// set the timezone first
if(function_exists('date_default_timezone_set')) {
date_default_timezone_set("Asia/Kolkata");
}
// then use the date functions, not the other way around
$date = date("d/m/Y");
$date1 = date("H:i a");
echo $date . '<br/>';
echo $date1;
答案 1 :(得分:2)
清洁选项是
$date = new DateTime(null, new DateTimezone("Asia/Kolkata"));
echo $date->format('d/m/y').'<br/>';
echo $date->format('H:i a');
这样,你就不会改变全局状态,所以代码的其他部分仍然可以使用其他时区
答案 2 :(得分:1)
<?php
date_default_timezone_set("Asia/Kolkata");
echo "The date is " .date("d/m/y");
echo "<br/>";
echo "The time is " . date("h:i:sa");
?>
答案 3 :(得分:0)
我认为你应该试试这个
date_default_timezone_set('Asia/Kolkata');
和
$date = date('Y-m-d H:i:s');
什么样的格式你喜欢!!
答案 4 :(得分:0)
// set the timezone first
if(function_exists('date_default_timezone_set')) {
date_default_timezone_set("Asia/Kolkata");
}
// then use the date functions, not the other way around
$date = date("d/m/Y");
$date1 = date("H:i a");
echo $date . '<br/>';
echo $date1;