首页 文章

如何在PHP中获取当前日期和时间?

提问于
浏览
716

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

30 回答

  • 9

    您可以使用此代码 .

    <?php
      $currentDateTime = date('Y-m-d H:i:s');
      echo $currentDateTime;
      ?>
    
  • 9

    PHP的time()返回当前的unix时间戳 . 有了这个,您可以使用date()函数根据需要对其进行格式化 .

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

    正如Paolo在评论中提到的那样,第二个论点是多余的 . 以下代码段与上面的代码段相同:

    $date = date('Format String');
    
  • 3
    // 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.
    

    有关时区参考,请参阅List of Supported Timezones .

  • 16
    date(format,timestamp)
    

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

    参数是 -

    格式 - 必填 . 指定时间戳时间戳的格式 - (可选)指定时间戳 . 默认值是当前日期和时间

    如何获得简单日期

    date() 函数所需的format参数指定如何格式化 date (or time) .

    以下是一些常用于日期的字符:

    • d - 表示该月的某一天(01至31)

    • m - 代表一个月(01至12)

    • Y - 代表一年(四位数)

    • l(小写'L') - 表示星期几

    其他字符,如 "/", ".", or "-" 也可以插入字符之间以添加其他格式 .

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

    <?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");
    ?>
    

    一些有用的链接

  • 11

    设置您的时区:

    date_default_timezone_set('Asia/Calcutta');
    

    然后调用日期函数

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

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

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

    根据上面的示例代码,一旦获得Unix Timestamp,您将要格式化此信息 . Unformatted Unix time看起来像: 1232659628

    因此,为了获得可行的功能,您可以使用 date() 函数对其进行格式化 .

    有关使用 date() 函数的方法的一个很好的参考资料位于PHP Manual中 .

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

    echo date("m/d/Y h:i:s a", time());
    
  • 552
    $date = date('m/d/Y h:i:s a', time());
    

    有效,但如何知道它是EST,PST?

  • 11

    如果你是孟加拉国人 . 如果你想得到达卡的时间,那就用它吧

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

    另一种获取当前日期和时间的时间戳的简单方法是使用 mktime() 函数

    $now = mktime(); //return timestamp of current time
    

    然后你可以将其转换为另一种日期格式:

    //// 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/manual/en/function.date.php

  • 12

    您可以使用$_SERVER['REQUEST_TIME'] variable(自PHP 5.1.0起可用)或time() function来获取当前的Unix时间戳 .

  • 43
    // 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));
    
  • 79

    您也可以使用此格式

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

    要么

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

    获取当前时间和日期的最佳方法是通过date function在php中

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

    使用UNIX TIMESTAM

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

    设置服务器时区

    date_default_timezone_set('Asia/Calcutta');
    

    不同的时区列表是here

  • 57

    从PHP 5.2.0 开始,您也可以使用 OOPDateTime()(当然如果您更喜欢OOP):

    $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

    $now = new DateTime(null, new DateTimeZone('America/New_York'));
    $now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
    echo $now->getTimezone();
    
  • 5
    <?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)
    ?>
    
  • 7

    那可能会帮助你 .

    以下是一些常用于时间的字符:

    • h - 12小时格式的一小时前导零(01到12)

    • i - 带前导零的分钟(00到59)

    • s - 带前导零的秒数(00到59)

    • a - 小写Ante meridiem和Post meridiem(上午或下午)

    获取您的时区

    <?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);
        ?>
    

    for Date

    <?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

  • 9

    日期格式也取决于:

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

    我发现在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');
    
  • 57

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

    $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");
    
  • 13

    如果您希望每天,每月和每年的值分别获得 12-3-2016 等日期,请复制粘贴此代码

    $day=date("d");
    $month=date("m");
    $year=date("y");
    print "date".$day."-".$month."-".$year;
    
  • 23

    参考:这是a link

    由于夏令时,这比简单地将一天或一个月中的秒数加到或减去一个时间戳更加可靠 .

    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)
    
  • 13
    $date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
     echo $date->format('d-m-Y H:i:s');
    

    Update

    //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() Function非常有用 .

  • 9

    时间会耗费您的服务器时间 . 一个简单的解决方法是在调用date()time()函数之前使用date_default_timezone_set手动设置时区 .

    我在墨尔本,Australia所以我有这样的事情:

    date_default_timezone_set('Australia/Melbourne');
    

    或者另一个例子是LA - US

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

    然后所有时间都是你刚设置的时区:)

  • 169

    PHP的date函数可以完成这项工作

    date()

    Description :

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

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

    Examples :

    $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)
    
  • 3

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

  • 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>");
    
  • 7
    echo date("d-m-Y H:i:sa");
    

    此代码将获取运行代码的服务器的日期和时间 .

  • 19
    <?php
    echo "<b>".date('l\, F jS\, Y ')."</b>";
    ?>
    

    打印像这样

    Sunday, December 9th, 2012

  • 9
    We can use date function and set default timezone.
    
     <?php
    
      date_default_timezone_set("Asia/Kolkata");
      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");
      echo "The time is " . date("h:i:sa");
    
     ?>
    
  • 41

    根据文章How to Get Current Datetime (NOW) with PHP,有两种常见的方式来获取当前日期 . 要使用PHP获取当前日期时间(现在),您可以将 date 类与任何PHP版本一起使用,或者更好地使用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');
    ?>
    

相关问题