10/10/2018, 09:51
Cứu người ! Làm sao để lấy giờ GMT ?
Mình viết PHP, dùng hàm date để lấy thời gian server như sau:
$now = date("Y-m-d G:i:s");
sau đó insert vào database. Khi chạy trên localhost thì OK, vấn đề là khi mình đưa nó lên host ở Hàn Quốc thì nó lại lấy giờ bên Hàn Quốc insert vào database !!! (sớm hơn VN gần 2 giờ 10 phút). Bạn nào có thể giúp mình giải quyết vấn đề này ko ? Nếu được có thể viết 1 function dạng getGMT("+7") là lấy giờ VN....
Thanks
$now = date("Y-m-d G:i:s");
sau đó insert vào database. Khi chạy trên localhost thì OK, vấn đề là khi mình đưa nó lên host ở Hàn Quốc thì nó lại lấy giờ bên Hàn Quốc insert vào database !!! (sớm hơn VN gần 2 giờ 10 phút). Bạn nào có thể giúp mình giải quyết vấn đề này ko ? Nếu được có thể viết 1 function dạng getGMT("+7") là lấy giờ VN....
Thanks
Bài liên quan
<?php
function gmstrtotime($sgm) {
$months = array(
'Jan'=>1,
'Feb'=>2,
'Mar'=>3,
'Apr'=>4,
'May'=>5,
'Jun'=>6,
'Jul'=>7,
'Aug'=>8,
'Sep'=>9,
'Oct'=>10,
'Nov'=>11,
'Dec'=>12
);
list($D, $d, $M, $Y, $H, $i, $s) = sscanf($sgm, "%3s, %2d %3s %4d %2d:%2d:%2d GMT");
return gmmktime($H, $i, $s, $months***91;$M***93;, $d, $Y);
}
$time = time();
$us = date("m/d/Y H:i:s",$time);
$sgm = gmdate("D, d M Y H:i:s",$time) . " GMT";
$gmtime = gmstrtotime($sgm);
echo $us . "<BR>";
echo $sgm . "<BR>";
echo $time . "<BR>";
echo $gmtime . "<BR>";
?>
02/13/2004 10:45:42
Fri, 13 Feb 2004 20:45:42 GMT
1076705142
1076705142
02/13/2004 10:45:42
Fri, 13 Feb 2004 20:45:42 GMT
1076705142
1076705142
Còn nếu có cả members, cho members chọn múi giờ của mình (GMT+y) rồi bạn +y vào giờ hiện tại ($usertime=$gmt+y).
Tôi mới chỉ nghĩ ra cách này, không biết còn cách nào khác không?
function getGMT($formatstr,$GMT){
return gmdate($formatstr, time() + 3600*$GMT);
}
Muốn xài giờ VN (GMT+7) thì chỉ cần gọi: getGMT("Y-m-d G:i:s","+7");
Bạn nào bên Mỹ hay Tàu có thể test giùm mình được ko ? hihihi
function gettime()
{
$addh = 2;
$addm = 10;
return strtotime($addh." hours ".$addm." minutes");
// trả lại giá trị tg dạng unix
}
date_default_timezone_set('Asia/Ho_Chi_Minh');
sau đó chỉ việc dùng time(), date...bình thường, ko cần dùng hàm điều chỉnh thời gian nào khác
nghiên cứu thêm
http://php.net/manual/en/function.da...mezone-set.php