Php Date函数在实时服务器中不起作用


Php Date function not working in live server

我正在显示当前日期&使用日期函数在localhost中使用php的时间

<?php
echo date('Y-m-d H:i:s');
?>

并将输出显示为2013-06-24 14:45:13但是,当我在实时服务器中运行上面的php代码时,它将输出显示为2013-06-24 06:47:28。因此,任何人都知道如何在实时服务器中以24小时格式显示日期和时间。。

这是一个时区问题。检查

date_default_timezone_get();

使用date_default_timezone_set('YOUR_TIMEZONE');可以设置时区。

服务器上似乎存在时区问题或设置未正确设置,因为理论上它应该显示服务器的时间和日期

关于时区问题,请参阅date_default_timezone_set指南http://php.net/manual/en/function.date-default-timezone-set.php

您的服务器似乎与本地主机的时区不同。

或者时间根本没有安排好。

日期函数采用当前日期和时间。现在,它将只显示服务器上显示的日期和时间。

使用日期时间:

<?php
$date = new DateTime('now'); 
echo $date->format("Y-m-d H:i:s");
?>

此外,显示的日期/时间是服务器的,所以您还应该设置时区:

<?php
$timezone = DateTimezone('{Continent}/{City}');
$date = new DateTime('now', $timezone); 
echo $date->format("Y-m-d H:i:s");
?>

当您在localhost中运行此代码echo date('Y-m-d H:i:s');时,它会占用系统时间,但当您在实时服务器上运行此echo date('Y-m-d H:i:s');时,它使用server时区。使用此函数date_default_timezone_get()。它返回脚本中所有日期/时间函数使用的默认时区,您可以使用它来设置时区。

您可以

date_default_timezone_set('America/Los_Angeles');

date_default_timezone_set('Egypt/Cairo');

或者介于('')之间

使用date_default_timezone_set从脚本中发送相应的时区。

你可以在这里找到更多信息:http://php.net/manual/en/function.date-default-timezone-set.php