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


当前回答

非常简单 echo $date = date('Y-m-d H:i:s');

其他回答

下面是一些常用的表示时间的字符:

H -以前导零表示的12小时格式(01到12) i -前导0的分钟(00到59) s -前导0的秒(00到59) a -小写的子午线前后(am或pm)

确定你的时区

<?php
    date_default_timezone_set("America/New_York");
    echo "The time is " . date("h:i:sa");
?>

看看这个(可选)

<?php
    $d = mktime(11, 14, 54, 8, 12, 2014);
    echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

为日期

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

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

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

Source-W3-Schools

我发现在PHP中获取当前时间的最简单方法是这样的。

//Prints out something like 10:00am Just be sure to set your timezone correctly.
date_default_timezone_set("America/Chicago");
$TIME = date('G:ia'); 

时间会随着服务器时间流逝。一个简单的解决方法是在调用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());

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

// 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 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();