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