关于日期时间:如何用PHP获取当前日期和时间?

How do I get the current date and time in PHP?

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


时间将以服务器时间为准。一个简单的解决方法是在调用date()time()函数之前,使用date_default_timezone_set手动设置时区。

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

1
date_default_timezone_set('Australia/Melbourne');

或者另一个例子是美国:

1
date_default_timezone_set('America/Los_Angeles');

您还可以通过以下方式查看服务器当前所在的时区:

比如:

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

所以问题的简短答案是:

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

那么所有的时间都会是你刚刚设定的时区:)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Simply:
$date = date('Y-m-d H:i:s');

// Or:
$date = date('Y/m/d H:i:s');

// This would return the date in the following formats respectively:
$date = '2012-03-06 17:33:07';
// Or
$date = '2012/03/06 17:33:07';

/**
 * This time is based on the default server time zone.
 * If you want the date in a different time zone,
 * say if you come from Nairobi, Kenya like I do, you can set
 * the time zone to Nairobi as shown below.
 */


date_default_timezone_set('Africa/Nairobi');

// Then call the date functions
$date = date('Y-m-d H:i:s');
// Or
$date = date('Y/m/d H:i:s');

// date_default_timezone_set() function is however
// supported by PHP version 5.1.0 or above.

有关时区引用,请参阅支持的时区列表。


由于php 5.2.0,您也可以使用oop和DateTime()(当然,如果您喜欢oop的话):

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

并说明timezone

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

参考:这里有一个链接

这比简单地将一天或一个月内的秒数加上或减去一个时间戳更可靠,因为这是一种夏令时。

PHP代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 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
\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的time()返回当前的unix时间戳。有了这个,您可以使用date()函数来根据需要对其进行格式化。

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

正如保罗在评论中提到的,第二个论点是多余的。以下代码段与上面的代码段等效:

1
$date = date('Format String');


您可以使用$_SERVER['REQUEST_TIME']变量(从php 5.1.0开始提供)或time()函数来获取当前的unix时间戳。


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

大多数情况下,这两个解决方案将产生完全相同的UNIX时间戳。两者的区别在于,$_SERVER['REQUEST_TIME']返回最新服务器请求的时间戳,time()返回当前时间。这可能会根据您的应用程序在准确性上造成细微差异,但在大多数情况下,这两种解决方案都应该足够。

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

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

PHP手册中提供了使用date()函数的好方法参考。

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

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


PHP的日期函数可以完成这项工作。

数据()

描述:

1
string date(string $format [, int $timestamp = time()])

使用给定的整数时间戳返回根据给定格式字符串格式化的字符串,如果未给定时间戳,则返回当前时间。

实例:

1
2
3
4
5
6
7
8
9
10
11
$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
\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)

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

更新

1
2
 //Also get am/pm in datetime:
 echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am

对于日期格式,php date()函数很有用。


用途:

1
$date = date('m/d/Y h:i:s a', time());

它起作用了。


1
echo date("d-m-Y H:i:sa");

这段代码将得到的日期和时间的服务器,在代码的游程。 </P >


its very simple

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


你可以使用这个格式也: </P >

1
$date = date("d-m-Y");

或 </P >

1
$date = date("Y-m-d H:i:s");

根据本文如何使用PHP获取当前日期时间(now),有两种常见的方法来获取当前日期。要使用php获取当前的日期时间(现在),可以将date类用于任何php版本,或者更好地使用php大于等于5.2的datetime类。

这里提供各种日期格式表达式。

使用日期的示例

此表达式现在将以Y-m-d H:i:s的格式返回。

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

使用日期时间类的示例

此表达式现在将以Y-m-d H:i:s的格式返回。

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


1
2
3
<?php
echo"".date('l\, F jS\, Y ')."";
?>

像这样的照片

2012年12月9日星期日


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?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
\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)
?>

1
date(format, timestamp)

date函数时返回一个字符串的formatted根据给定的格式字符串使用给定的整数时间戳或电流时如果没有时间戳是给定的。在其他的话,timestamp是可选的和defaults值时()。 </P >

和参数是 </P >

format - Required. Specifies the format of the timestamp

timestamp - (Optional) Specifies a timestamp. Default is the current date and time

如何得到一个简单的日期

在所需的格式参数的函数date()specifies如何date (or time)格式的。 </P >

这里是一些人物,这是一种常见的用于日期: </P >

  • D代表天的一个月(01到31)
  • M代表一个月(1到12)
  • Y代表一年(四位数)
  • L(lowercase"L"),代表天的周
  • 其他人物的,也可以是类"/",".", or"-"inserted之间的人物来添加额外的Formatting。。。。。。。 </P >

    在下面的格式以今天的日期,在三个不同的方式: </P >

    1
    2
    3
    4
    5
    6
    <?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");
    ?>

    一些有用的链接

    • gmdate(A)格式 格林尼治标准时间UTC时间/日期/时间
    • 候选人(的)格式A 本地时间/日期为整数
    • GETDATE()。 日期/时间信息
    • getlastmod(的) 最后一页时所得到的改性
    • mktime Unix get() 时间戳的一种。
    • strftime(格式) 一个本地时间/日期,根据现场的环境
    • 时间()返回电流 Unix时间戳
    • strtotime(的) 关于英语的任何parse textual DateTime变成一个UNIX的描述 时间戳
    • predefined DateTime 常数

    日期格式:太depends </P >

    1
    echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm


    你可以使用这段代码: </P >

    1
    2
    3
    4
    <?php
        $currentDateTime = date('Y-m-d H:i:s');
        echo $currentDateTime;
    ?>


    1
    2
    3
    4
    5
    date_default_timezone_set('Europe/Warsaw');
    echo("<p class='time'>".date('H:i:s')."
    </p>"
    );
    echo("<p class='date'>".date('d/m/Y')."
    </p>"
    );

    设置时区:

    1
    date_default_timezone_set('Asia/Calcutta');

    然后调用日期函数

    1
    $date = date('Y-m-d H:i:s');

    如果需要不同的时间刻度,请使用:

    1
    2
    3
    4
    5
    6
    $tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
    $lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
    $nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);

    date_default_timezone_set("Asia/Calcutta");
    echo date("Y/m/d H:i:s");


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

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

    另一个简单的方式是抓住这个时间戳的当前日期和时间。使用mktime()函数: </P >

    1
    $now = mktime(); // Return timestamp of the current time

    然后你可以转化到另一个这样的日期格式: </P >

    1
    2
    //// Prints something like: Thursday 26th of January 2017 01:12:36 PM
    echo date('l jS \of F Y h:i:s A',$now);

    更多的日期格式是在这里: http:/ / / /我php.net手册/ function.date.php </P >


    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    // 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));

    如果你是bangladeshi,如果你想得到财政部的时间,然后使用这个: </P >

    1
    2
    3
    $date = new DateTime();
    $date->setTimeZone(new DateTimeZone("Asia/Dhaka"));
    $get_datetime = $date->format('d.m.Y H:i:s');

    这里是一些人物,这是一种常见的用于时报》: </P >

  • H的12小时格式的一个小时,与业界领先的zeros(1到12)
  • 1分钟,与业界领先的zeros(00到59)
  • 的S -秒,与业界领先的zeros(00到59)
  • A lowercase午前、午后的AM或PM) </P >

  • 把你的时间区 </P >

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

    检查这个收购(可选) </P >

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

    的方法。 </P >

    1
    2
    3
    4
    5
    6
    <?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");
    ?>

    这里是一些人物,这是一种常见的用于日期: </P >

  • D代表天的一个月(01到31)
  • M代表一个月(1到12)
  • Y代表一年(四位数)
  • L(lowercase"L"),代表天的周
  • 源W3学校 </P >


    如果要获取日期(如12-3-2016),请将日期、月份和年份值分开,然后复制粘贴此代码:

    1
    2
    3
    4
    $day = date("d");
    $month = date("m");
    $year = date("y");
    print"date" . $day ."-" . $month ."-" . $year;

    PHP时返回的电流时,在秒。你需要的格式,他们在任何你想要的格式。 </P >

    1
    2
    3
    4
    5
    6
    7
    <?php
        // time() returns current time in seconds
        $in_seconds = time();

        // strftime - Format a local time/date according to locale settings
        echo strftime("%m/%d/%y", $in_seconds);
    ?>

    </P >

    参考:http:/ / / /我php.net手册/ function.strftime.php </P >


    我们可以使用date函数设置的默认时区: </P >

    1
    2
    3
    4
    5
    6
    7
    8
    <?php
        date_default_timezone_set("Asia/Kolkata");
        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");
        echo"The time is" . date("h:i:sa");
    ?>

    最好的方式来获取的当前时间和日期是由date函数在PHP: </P >

    1
    2
    3
    $date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s

    $current_date = date('Y-m-d H:i:s');

    以Unix时间戳的: </P >

    1
    $now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s

    集到的服务器时区: </P >

    1
    date_default_timezone_set('Asia/Calcutta');

    一个不同的时区的清单是在这里。 </P >


    normally,这个函数的方法是有用的为人日期:日期(Y / M / d"); </P >

    但是,时间是不一样的,因为时间的函数是either depends的PHP版本或系统的日期。 </P >

    所以probably使用它的类的get这样对我们自身的时间区: </P >

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

    这个函数的交往中的24小时的时间。 </P >


    1
    echo $today = date('y-m-d');

    This will return today's date.


    很简单的 </P >

    1
    2
    date_default_timezone_set('Asia/Kolkata');
    $date = date('m/d/Y H:i:s', time());


    Linux服务器的时间和时间差分(PHP)的时区为这些: </P >

    1
    2
    3
    4
    5
    <?php
        putenv("TZ=Asia/Kabul");
        $t = time();
        echo date('d/m/Y H:i:sa', $t);
    ?>