php日期

PHP 日期和時間

PHP date() 函數用於對日期或時間進行格式化。

PHP Date() 函數

PHP Date() 函數把時間戳格式化為更容易讀取的日期和時間。

QQ截图20161008172535.png


#註解:時間戳記是一種字元序列,它表示特定事件發生的日期和事件。

獲得簡單的日期

date() 函數的格式參數是必要的,它們規定如何格式化日期或時間。

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

·         d - 表示月裡的某天(01-31)

·         m - 表示月(011 -12)

·         Y - 表示年(四位數)

·         1 - 表示周中的某天

其他字符,如"/", ". " 或"-" 也可插入字元中,以增加其他格式。

下面的範例用三種不同方法格式今天的日期:

#實例

<?php
echo "今天是 " . date("Y/m/d") . "<br>";
echo "今天是 " . date("Y.m.d") . "<br>";
echo "今天是 " . date("Y-m-d") . "<br>";
echo "今天是 " . date("l");
?>

PHP 提示- 自動版權年份

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

實例

#© 2010-<?php echo date("Y")?>

獲得簡單的時間

以下是常用時間的字元:

·         h - 以首位零的12 小時小時格式

·         i -附首零的分鐘

·         s - 有首位零的秒(00 -59)

·         a - 小寫的午前與午後(am 或pm 或pm)##am 或pm #下面的範例以指定的格式輸出目前時間:

實例

<?php
echo "现在时间是 " . date("h:i:sa");
?>

註解:請注意PHP date() 函數會傳回伺服器的目前日期/時間!

取得時區

如果從程式碼回傳的不是正確的時間,有可能是因為您的伺服器位於其他國家或被設定為不同時區。

因此,如果您需要基於特定位置的準確時間,您可以設定要使用的時區。

下面的範例把時區設定為"Asia/Shanghai",然後以指定格式輸出目前時間:

實例

<?php
date_default_timezone_set("Asia/Shanghai");
echo "当前时间是 " . date("h:i:sa");
?>

透過PHP mktime() 建立日期

date() 函數中可選的時間戳參數規定時間戳記。如果您未規定時間戳,將使用當前日期和時間(正如上例中)。

mktime() 函數傳回日期的 Unix 時間戳記。 Unix 時間戳包含 Unix 紀元(1970 年 1 月 1 日 00:00:00 GMT)與指定時間之間的秒數。

語法

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

下面的範例使用mktime() 函數中的一系列參數來建立日期和時間:

實例

<?php
$d=mktime(9, 12, 31, 6, 10, 2015);
echo "创建日期是 " . date("Y-m-d h:i:sa", $d);
?>

透過PHP strtotime() 用字串來建立日期

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

語法

strtotime(time,now)

下面的範例透過strtotime() 函數建立日期和時間:

實例

<?php
$d=strtotime("10:38pm April 15 2015");
echo "创建日期是 " . 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() 並不完美,所以請記得檢查放入其中的字串。

更多日期實例

下例輸出下週六的日期:

實例

<?php
$startdate = strtotime("Saturday");
$enddate = strtotime("+6 weeks",$startdate);
 
while ($startdate < $enddate) {
  echo date("M d", $startdate),"<br>";
  $startdate = strtotime("+1 week", $startdate);
}
?>

下例輸出七月四日之前的天數:

實例

<?php
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "距离十二月三十一日还有:" . $d2 ." 天。";
?>


#
繼續學習
||
<?php date_default_timezone_set("Asia/Shanghai"); echo "当前时间是 " . date("h:i:sa"); ?>