我对PHP date_default_timezone_set()
函数有疑问。
我尝试使用此功能为我的PHP代码设置自己的时区(Africa/Cairo)
,但它根本不起作用。
我正在使用Localhost,但我不知道这个音符是否重要。
无论如何,这是我获取UNIX时间戳的代码:
$dateTime = time();
这是时区的代码:
date_default_timezone_set('Africa/Cairo');
也试过这个并不一致:
ini_set('date.timezone', 'Africa/Cairo');
我正在使用此代码显示日期和时间:
$date = new DateTime("@$dateTime");
echo "Date: " . $date->format("Y-m-d") . "<br> Time: " . $date->format("h:i:s A");
总是给我错误的时间,日期很好。
如果此代码是执行此操作的正确方法,或者此操作还有其他高级且准确的代码,那么我需要您的建议。
谢谢大家
答案 0 :(得分:0)
使用没有任何参数的DateTime ......
$date = new DateTime();
如果你传递一个unix时间戳,你将得到UTC的时间,因为这是unix时间戳相对的。
答案 1 :(得分:0)
最后,我发现这些函数date_add()
和date_sub()
会在您的日期或时间上添加或减去任何值。
示例:
date_add($date , date_interval_create_from_date_string("7 Hours"));
这只会增加7个小时的时间。查看php.net上的完整date_add()和date_sub()引用。
这些功能有时候就像一个保护程序,但确定它更好找 你自己的时区。