Php 要显示当前日期/时间吗

Php 要显示当前日期/时间吗,php,sql,datetime,Php,Sql,Datetime,您好,我正在通过odbc使用php和sql编写一个程序,我有点陷入了一个问题,我想用date('Y-m-d H:I:s)格式显示当前日期/时间,但它只显示gmt时间。我想再加上8小时。你们谁能帮我一个忙呢。非常感谢你们退房。您可以执行以下操作: date_default_timezone_set('America/Los_Angeles'); print 'Current datetime is: ' . date('Y-m-d H:i:s'); 您可以使用它将时区设置为您需要的时间所在的任何

您好,我正在通过odbc使用php和sql编写一个程序,我有点陷入了一个问题,我想用date('Y-m-d H:I:s)格式显示当前日期/时间,但它只显示gmt时间。我想再加上8小时。你们谁能帮我一个忙呢。非常感谢你们退房。您可以执行以下操作:

date_default_timezone_set('America/Los_Angeles');
print 'Current datetime is: ' . date('Y-m-d H:i:s');
您可以使用它将时区设置为您需要的时间所在的任何时区,然后正常使用
date
。或者,您可以使用以下方法执行此操作:


如果您正在寻找在用户本地时间显示时间戳的方法,则可以使用JavaScript:

function showtime(t)
{
    if (t == 0)
    {
        document.write("never");
        return;
    }

    var currentTime = new Date(t);
    var month = currentTime.getMonth() + 1;
    var day = currentTime.getDate();
    var year = currentTime.getFullYear();
    var hours = currentTime.getHours();
    var minutes = currentTime.getMinutes();
    var seconds = currentTime.getSeconds();
    document.write();
    if (minutes < 10){
    minutes = "0" + minutes;
    }
    if (seconds < 10){
    seconds = "0" + seconds;
    }
    document.write(month + "/" + day + "/" + year + "&nbsp;&nbsp;&nbsp;" +
                hours + ":" + minutes + ":" + seconds + " ");
    if(hours > 11){
    document.write("PM");
    } else {
    document.write("AM");
    }
}
函数显示时间(t)
{
如果(t==0)
{
文件。书写(“从不”);
返回;
}
var currentTime=新日期(t);
var month=currentTime.getMonth()+1;
var day=currentTime.getDate();
var year=currentTime.getFullYear();
var hours=currentTime.getHours();
var minutes=currentTime.getMinutes();
var seconds=currentTime.getSeconds();
document.write();
如果(分钟<10){
分钟=“0”+分钟;
}
如果(秒<10){
秒=“0”+秒;
}
文件。写入(月+“/”+日+“/”+年+“”+
小时+“:“+分钟+”:“+秒+”);
如果(小时数>11){
文件。书写(“PM”);
}否则{
文件。书写(“AM”);
}
}
然后,如果需要显示时间,只需在HTML中对其进行调用,并从PHP中拼接出值:

<script type="text/javascript">showtime(<?=$time."000"?>)</script>
showtime()

我会避开时区法

如果我理解正确,你想增加时间,从而改变它。例如,一项任务现在已经创建,必须在8小时内完成。时区方法只会更改日期和时间的显示。只有当您知道访客的时区,并且datetime必须相对于他们显示时,才可以更改时区设置

< 1234418228】在蒙特利尔为2009/02/12∶12∶57∶08,或在旧金山为2009/02/11 09:57∶08。就在同一时刻

除了第一个答案之外,date()和strotime()是您的朋友

STROTIME(“+8小时,$now”) $now是一个时间戳,表示它应该与什么时间相关。因此,如果开始时间不是time(),您仍然可以使用它。乙二醇

strtotime( "+8 hours", strtotime( "2009/03/01 00:00:00" ); (8AM on 2009/03/01)
然而,当处理以周或更少为单位的时间间隔时,我更喜欢用“数学”的方法

$StartTime = strtotime( "2009/03/01 13:00:00" );
$EndTime = $StartTime + ( 8 * 60 * 60 );
date( "Y/m/d H:i:s", $EndTime ) ==> "2009/03/01 21:00:00"
一小时3600秒,一天86400秒


您不能在月、季或年内使用此方法,因为它们持续的秒数会随着时间的变化而变化。

如果您想在某个时区使用时间,则最好使用date\u default\u timezone\u set()。无论如何,您可以为date()函数提供另一个parmater:int timestamp。一个整数,表示希望date()返回有关的信息的时间戳。 因此,如果您现在想显示日期('Y-m-dh:i:s'),您可以使用:

$now = date('Y-m-d H:i:s', time() ); // time() returns current timestamp.
// if you omit the second parameter of date(), it will use current timestamp
// by default.
$_8hoursLater = date('Y-m-d H:i:s', time()+60*60*8 );
$_8hoursBefore = date('Y-m-d H:i:s', time()-60*60*8 );

是的,但这只显示GMT时间。我想要的时间是8小时。你可以将时区设置为你想要的任何时区并获得正确的时间。或者你可以使用我提出的第二种方法,只需在当前时间的基础上增加8小时。
$now = date('Y-m-d H:i:s', time() ); // time() returns current timestamp.
// if you omit the second parameter of date(), it will use current timestamp
// by default.
$_8hoursLater = date('Y-m-d H:i:s', time()+60*60*8 );
$_8hoursBefore = date('Y-m-d H:i:s', time()-60*60*8 );