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


当前回答

您可以使用$_SERVER['REQUEST_TIME']变量(自PHP 5.1.0起可用)或time()函数来获取当前的Unix时间戳。

其他回答

从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();
// Set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');


// Prints something like: Monday
echo date("l");

// Prints something like: Monday 8th of August 2016 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Prints: July 1, 2016 is on a Saturday
echo "July 1, 2016 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2016));

/* Use the constants in the format parameter */
// Prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// Prints something like: 2016-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

PHP的time()返回当前Unix时间戳。这样,您就可以使用date()函数将其格式化为您需要的格式。

$date = date('Format String', time());

正如Paolo在评论中提到的,第二个论点是多余的。下面的代码段相当于上面的代码段:

$date = date('Format String');

通常,date的这个函数对每个人都有用:date("Y/m/d");

但是时间是不同的,因为时间函数取决于PHP版本或系统日期。

所以可以像这样使用它来获得我们自己的时区:

$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('H:m:s');

这个函数显示24小时时间。

根据如何使用PHP获取当前日期时间(NOW)这篇文章,有两种常见的方法来获取当前日期。要在PHP中获取当前的日期时间(now),您可以在任何PHP版本中使用date类,或者在PHP >= 5.2中使用datetime类。

这里有各种日期格式表达式。

使用日期的示例

该表达式将以Y-m-d H:i:s格式返回NOW。

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

使用datetime类的示例

该表达式将以Y-m-d H:i:s格式返回NOW。

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