哪个PHP函数可以返回当前日期/时间?


当前回答

时间会随着服务器时间流逝。一个简单的解决方法是在调用date()或time()函数之前使用date_default_timezone_set手动设置时区。

我在澳大利亚墨尔本,所以我有这样的东西:

date_default_timezone_set('Australia/Melbourne');

或者另一个例子是洛杉矶-美国:

date_default_timezone_set('America/Los_Angeles');

你还可以通过以下命令查看服务器当前所在的时区:

date_default_timezone_get();

比如:

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

所以你问题的简短答案是:

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

那么所有的时间都将是你刚刚设置的时区:)

其他回答

时间会随着服务器时间流逝。一个简单的解决方法是在调用date()或time()函数之前使用date_default_timezone_set手动设置时区。

我在澳大利亚墨尔本,所以我有这样的东西:

date_default_timezone_set('Australia/Melbourne');

或者另一个例子是洛杉矶-美国:

date_default_timezone_set('America/Los_Angeles');

你还可以通过以下命令查看服务器当前所在的时区:

date_default_timezone_get();

比如:

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

所以你问题的简短答案是:

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

那么所有的时间都将是你刚刚设置的时区:)

你可以使用$_SERVER['REQUEST_TIME']变量或time()函数。这两个函数都返回Unix时间戳。

大多数情况下,这两个解决方案将产生完全相同的Unix时间戳。它们之间的区别是$_SERVER['REQUEST_TIME']返回最近服务器请求的时间戳,而time()返回当前时间。根据应用程序的不同,这可能会在准确性上产生微小的差异,但在大多数情况下,这两种解决方案都足够了。

根据上面的示例代码,一旦获得Unix时间戳,您将希望格式化此信息。未格式化的Unix时间看起来像:1232659628

因此,为了得到一些可以工作的东西,您可以使用date()函数来格式化它。

关于date()函数的使用方法,PHP手册中有很好的参考资料。

例如,下面的代码返回一个日期:01/22/2009 04:35:00 pm:

echo date("m/d/Y h:i:s a", time());

参考:这里有一个链接

由于使用夏令时,这比简单地在时间戳中添加或减去一天或一个月中的秒数更可靠。

PHP代码

// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)

从PHP 5.2.0开始,你可以使用DateTime()类:

use \Datetime;

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

并指定时区:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();
date(format, timestamp)

date函数返回一个根据给定格式字符串使用给定整数时间戳格式化的字符串,如果没有给出时间戳则返回当前时间。换句话说,timestamp是可选的,默认值为time()。

参数为-

format -必选。指定时间戳格式 timestamp -时间戳(可选)。默认为当前日期和时间

如何获得一次简单的约会

date()函数所需的format参数指定如何格式化日期(或时间)。

下面是一些常用来表示日期的字符:

d -表示一个月中的第一天(01 ~ 31) m -代表一个月(01 ~ 12) Y -年份(四位数) l(小写“l”)-代表星期几

还可以在字符之间插入其他字符,如“/”、“。”或“-”,以添加额外的格式。

下面的例子用三种不同的方式格式化今天的日期:

<?php
    echo "Today is " . date("Y/m/d") . "<br>";
    echo "Today is " . date("Y.m.d") . "<br>";
    echo "Today is " . date("Y-m-d") . "<br>";
    echo "Today is " . date("l");
?>

一些有用的链接

gmdate() -格式化a 格林尼治时间/ UTC日期/时间 idate() -格式化a 本地时间/日期为整数 getdate() -获取 日期/时间信息 getlastmod () - 获取最后一页修改的时间 mktime() -获取Unix 日期的时间戳 strftime() -格式 根据区域设置的本地时间/日期 time() -返回电流 Unix时间戳 strtotime () 解析任何英文文本日期时间描述到Unix 时间戳 预定义的DateTime 常量