提问



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

最佳参考


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


我在澳大利亚墨尔本,所以我有这样的事情:[64]


date_default_timezone_set('Australia/Melbourne');


或另一个例子是洛杉矶 - 美国:[65]


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


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

其它参考1


// 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.


有关时区参考,请参阅支持的时区列表。[66]

其它参考2


自PHP 5.2.0以来你可以使用 OOP DateTime()来做(当然如果你更喜欢OOP):[67]


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

其它参考3


参考:这是一个链接[68]


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


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)

其它参考4


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

其它参考5


PHP的time()返回一个当前的unix时间戳。通过这个,你可以使用date()函数根据你的需要对其进行格式化。[71] [72]


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


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


$date = date('Format String');

其它参考6


PHP的日期函数可以完成这项工作[73]


日期() [74]


说明:


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


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


示例:


$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


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


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


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


Unix时间戳:1232659628


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


有关使用date()函数的方法的一个很好的参考资料位于PHP手册页,这里......


http://us.php.net/date[75]


例如,以下代码返回如下所示的日期 -


01/22/2009 04:35:00 pm


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

其它参考8


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


更新


 //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()函数很有用。[76]

其它参考9


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


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

其它参考10


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


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

其它参考11


根据文章如何使用PHP获取当前日期时间(NOW),有两种常用方法可以获取当前日期。要使用PHP获取当前日期时间(现在),可以将date类与任何PHP版本一起使用,或者更好地将datetime类与PHP>=5.2一起使用。[77]


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


使用日期的示例



该表达式将以格式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');
?>

其它参考12


您也可以使用此格式


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


要么


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

其它参考13


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


打印像这样


2012年12月9日星期日

其它参考14


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

其它参考15



  它非常简单

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


其它参考16


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


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

其它参考17


设置您的时区:


date_default_timezone_set('Asia/Calcutta');


然后调用日期函数


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

其它参考18


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

其它参考19


date(format,timestamp)


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


参数是 -



  格式 - 必填。指定时间戳的格式

  
  timestamp - (可选)指定时间戳。默认值是当前日期和时间



如何获得简单日期



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


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



  1. d - 代表月中的某一天(01至31)

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

  3. Y - 代表一年(四位数)

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


一些有用的链接




  • gmdate() - 格式化a
    GMT/UTC日期/时间

  • idate() - 格式化a
    本地时间/日期为整数

  • getdate() - 获取
    日期/时间信息

  • getlastmod() -
    获取最后一页修改的时间

  • mktime() - 获取Unix
    日期的时间戳

  • strftime() - 格式
    根据区域设置的本地时间/日期

  • time() - 返回当前值
    Unix时间戳

  • strtotime() -
    将任何英文文本日期时间描述解析为Unix
    时间戳

  • 预定义日期时间
    常数


其它参考20


日期格式也取决于:[78] [79] [80] [81] [82] [83] [84] [85] [86]


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

其它参考21


您可以使用此代码。


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

其它参考22


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

其它参考23


另一种获取当前日期和时间的时间戳的简单方法是使用 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[87]

其它参考24


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

其它参考25


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


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

其它参考26


那可能会帮助你。


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



  1. h - 带有前导零(01到12)的一小时12小时格式

  2. i - 分数为前导零(00至59)

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

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


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



  1. d - 代表月中的某一天(01至31)

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

  3. Y - 代表一年(四位数)

  4. l(小写L) - 代表星期几



 源-W3-学校[88]

其它参考27


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


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

其它参考28


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

 ?>

其它参考29


获取当前时间和日期的最佳方法是通过php [89]中的日期函数


$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');


不同的时区列表在这里[90]