最新的Web開發教程
 

PHP 5日期和時間


PHP的date()函數用於格式化的日期和/或時間。


PHP的Date()函數

PHP的date()函數格式化的時間戳到一個更可讀的日期和時間。

句法

date( 參數 描述 format 需要。 指定時間戳記的格式 timestamp 可選的。 指定一個時間戳。 默認為當前日期和時間

時間戳是一個字符序列,表示在發生特定事件的日期和/或時間。


得到一個簡單的日期

所需的format的參數的date()函數指定如何格式化日期(or time)

下面列舉了一些常用的日期一些字符:

  • d -表示該月的一天(01 to 31)
  • 米-代表一個月(01 to 12)
  • Ÿ -表示年份(in four digits)
  • (lowercase 'L') -表示星期幾

其他字符,如“/”, "." ,或"-"也可以在字符之間插入以添加額外的格式。

下面的示例設置今天的三種不同的方法日期:

<?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");
?>
運行示例»

PHP提示 - 自動年版權所有

使用date()函數來自動更新版權年份在您的網站:

&copy; 2010-<?php echo date("Y");?>
運行示例»

得到一個簡單的時間

下面是常用於次一些字符:

  • ħ -一小時的12小時格式與前導零(01 to 12)
  • -分鐘前導零(00 to 59)
  • 秒-秒前導零(00 to 59)
  • 一個-小寫安特meridiem和Post meridiem (am or pm)

下面的例子中,輸出在規定的格式的當前時間:

<?php
echo "The time is " . date("h:i:sa");
?>
運行示例»

需要注意的是,PHP date()函數將返回服務器的當前日期/時間!


讓你的時區

如果你得到了從代碼後面的時間不正確的時間,這可能是因為你的服務器是在其他國家或設置為不同的時區。

所以,如果你需要根據特定的位置正確的時間,你可以設置一個時區使用。

下面的示例將時區到"America/New_York" ,然後輸出在指定格式的當前時間:

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

創建日期在PHP mktime()

可選的timestamp在參數date()函數指定的時間戳。 如果不指定時間戳,當前日期和時間將被用於(如圖上面的例子)。

mktime()函數返回Unix時間戳的日期。 Unix時間戳包含了Unix紀元之間的秒數(January 1 1970 00:00:00 GMT)和指定的時間。

句法

mktime( hour,minute,second,month,day,year )

下面的示例創建從多個參數的日期和時間在mktime()函數:

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

創建日期字符串中使用PHP strtotime()

的PHP strtotime()函數用於人類可讀字符串轉換為Unix時間。

句法

strtotime( time,now )

下面的示例創建從一個日期和時間strtotime()函數:

<?php
$d=strtotime("10:30pm April 15 2014");
echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>
運行示例»

PHP是相當聰明的約一個字符串轉換為日期,所以你可以把各種值:

<?php
$d=strtotime("tomorrow");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("next Saturday");
echo date("Y-m-d h:i:sa", $d) . "<br>";

$d=strtotime("+3 Months");
echo date("Y-m-d h:i:sa", $d) . "<br>";
?>
運行示例»

然而, strtotime()是不完美的,所以記得要檢查你擺在那裡的字符串。


更多日期示例

下面的示例輸出在接下來的6星期六日期:

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks", $startdate);

while ($startdate < $enddate) {
  echo date("M d", $startdate) . "<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>
運行示例»

下面的例子輸出天,直到7月4日的數字:

<?php
$d1=strtotime("July 04");
$d2=ceil(($d1-time())/60/60/24);
echo "There are " . $d2 ." days until 4th of July.";
?>
運行示例»

完整的PHP日期參考

對於所有的日期功能的完整參考,請給我們完整的PHP日期參考

該手冊包含了簡要說明,並使用實例,每個功能!