想要显示当前日期/时间

时间:2009-02-12 04:21:50

标签: php sql datetime

嗨我正在使用php和sql通过odbc来编写一个程序而且我已经把abit卡在了我希望以格式日期显示当前日期/时间的部分('Ymd H:i:s)但是它只显示gmt时间。我想加8小时。你们中的任何人都能帮助我。非常感谢你们

4 个答案:

答案 0 :(得分:2)

结帐date_default_timezone_set。你可以这样做:

date_default_timezone_set('America/Los_Angeles');
print 'Current datetime is: ' . date('Y-m-d H:i:s');

您可以使用它将时区设置为您需要时间的任何时区,然后正常使用date。或者,您可以使用strtotime

执行此操作
print 'Current datetime is: ' date('Y-m-d H:i:s', strtotime('+8 hours'));

答案 1 :(得分:0)

如果您正在寻找一种在用户当地时间显示时间戳的方法,可以使用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");
    }
}

然后,如果您需要显示时间,只需在HTML中调用它并拼接PHP中的值:

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

答案 2 :(得分:0)

我会避开时区方法。

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

现在:1234418228是2009/02/12 00:57:08在蒙特利尔或2009/02/11 09:57:08在旧金山。这是完全相同的时刻。

追加到第一个答案,date()和strtotime()是你的朋友。

strtotime(“+ 8小时”,现在$) $ now现在是它应该与之相关的时间戳。因此,如果你的开始时间不是时间(),你仍然可以使用它。例如

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。

您不能将此方法用于数月,季度或年份,因为它们的持续时间从一个到另一个不同。

答案 3 :(得分:0)

如果您想将时间用于某个时区,则首选使用date_default_timezone_set()。无论如何你可以提供另一个parmater的date()函数:int timestamp。一个整数,表示您希望date()返回有关信息的时间戳。 所以如果你想现在显示日期('Y-m-d H: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 );