php日期函數應用

date_1.php原始碼

<html>
<body>

<h2>日期欄位(Date Field)</h2>

<p>The <strong>input type="date"</strong> is used for input fields that should contain a date.</p>

<form method="POST" action="date-1.php">
<label for="birthday">請輸入日期:</label>
<input type="date" id="birthday" name="birthday">
<input type="submit" value="送出資料">
</form>

<p><strong>Note:</strong> type="date" is not supported in Safari or Internet Explorer 11 (or earlier).</p>

</body>
</html>
<?php
echo "輸入日期是:".$_POST["birthday"];
echo "<br>";
$udate=date("Y-m-d h:i");
echo "登錄時間是:".$udate;
?>

執行結果


date_2.php原始碼

<html>
<body>
<h2>日期欄位(Date Field)應用</h2>
<form method="POST" action="">
<label for="birthday">請輸入日期:</label>
<input type="date" id="birthday" name="birthday">
<input type="submit" value="送出資料">
</form>
</body>
</html>
<?php
echo "輸入日期是:".$_POST["birthday"];
$now=$_POST["birthday"];
echo "<br>";
$udate=date("Y-m-d h:i");
echo "登錄時間是:".$udate;
echo "<br><br>";
$mm= substr("$now", 5, 2);
echo "<br><br>";
$dd= substr("$now", 8, 2);
if($_POST['birthday']!='' ){
$url = "http://twmc.health999.net/stream/$mm/$mm$dd.htm";
echo "<script type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
}
?>
執行結果


執行結果


today.php原始碼

<?php
$udate=date("Y-m-d");
echo "today=".$udate;
$mm=mb_substr($udate,5,2);
$dd=mb_substr($udate,8,2);
$url = "$mm/$dd.htm";
echo "<script type='text/javascript'>";
echo "window.location.href='$url'";
echo "</script>";
?>

執行結果


第7題作業:

第7題作業可參考老師<homework>中 today.php,將超連結網址改為你的網站網址,
再將/05/資料夾中對應之日期網頁修改成你要顯示的訊息網頁。

$url = "http://tkupc.com/pc02/000/$mm/$dd.htm";

(000改成自己的座號,再將 today.php 上傳至你的空間)

例如:要顯示當天(5月14日)就把/05/資料夾中14.htm修改後上傳來測試。

期末網站作業上傳截止日為5/31,評閱時間為6/5-6/6月間,屆時請將/05/資料夾改為/06/。
同時
製作05.htm及06.htm上傳,以利評閱。


PHP 日期函式簡介

PHP date 函式可以取得伺服器的日期與時間加以格式化(Format a local time/date),PHP date 函式的功能相當強大,除了能格式化日、週、月、年 ... 格式之外,還可以顯示早上 AM、午後 PM、12 小時制、24 小時制 ... 等,只要學會如何控制 Format 參數,就能夠隨心所欲的顯示你想要顯示的時間,且 PHP date 函式是內建函式,不需額外安裝套件就可以直接使用,是學習 PHP 程式設計的基礎入門工夫。

PHP date 函式基本語法

string date ( string $format [, int $timestamp ] );


看起來一整串的語法要怎麼使用呢?其實很簡單的,重點在於那個 date 以及小括號內的兩個參數,後面會介紹幾個範例清楚介紹,先來看看這兩個參數所代表的意思,第一個參數 $format 代表的就是取得的主機時間要格式化為哪種模式,例如日、月、年、時、分、秒 ... 之類的,必須根據 date 函式內建的格式表填寫,第二個參數 $timestamp 是時間戳記,也常稱為 Unix 時間戳(Unix timestamp),從 1970 年 1 月 1 日(00:00:00 GMT)開始到現在的時間,以秒為計算單位,非必填項目。

PHP date 函式常用 $format 參數
與日相關的 $format 參數
d 格式化成為以月份統計的日期,寫法:date("d");,例如本月五日則為 05。
 
D 格式化為當天星期幾的簡寫,寫法:date("D");,例如星期三則為 Wed。
 
j
 
格式化為以天統計的數字日,寫法:date("j");,不補零,例如本月五日則為 5。
 
l 格式化為當天星期幾的完整單字,參數為小寫 L,寫法:date("l");,例如 Wednesday。
 
與週相關的 $format 參數
W 以數字表示今年的第幾週,例如第 20 週,直輸出 20,寫法:date("W")。PHP 4.1.0 新增。
 
與月相關的 $format 參數
F 輸出當月的月份英文單字,寫法為 date("F"),例如六月就輸出 June、十月就輸出 October。
 
m
 
以數字表示當月的月份,寫法為 date("m"),個位數前方會補零,例如六月是 06。
 
M
 
以月份英文單字縮寫表示當月,寫法 date("M"),例如六月是 Jun。
 
n
 
以數字表示當月的月份,寫法為 date("n"),個位數前方不會補零,例如六月是 6。
t
 
直接輸出當月天數,寫法為 date("t"),例如六月是小月,會輸出 30,代表共有 30 天。
 
與年相關的 $format 參數
y 以兩位數縮寫年份表示,寫法為 date("y"),例如 2013 年則為 13。
 
Y
 
以完整四位數年份表示,寫法為 date("Y"),例如 2013 年則輸出 2013。
 
Time 的顯示格式
a
 
小寫,早上 am 或午後 pm 的判斷,以中午 12 點為分野,寫法為 date("a")。
 
A
 
大寫,早上 AM 或午後 PM 的判斷,以中午 12 點為分野,寫法為 date("A")。
g
 
時,顯示 12 小時制的時間格式,寫法為 date("g"),個位數前方不補零,例如 13 點為 1。
 
G
 
時,顯示 24 小時制的時間格式,寫法為 date("G"),個位數前方不補零,例如 13 點為 13。
h
 
時,顯示 12 小時制的時間格式,寫法為 date("h"),個位數前方補零,例如 13 點為 01。
H
 
時,顯示 24 小時制的時間格式,寫法為 date("H"),個位數前方補零,例如 13 點為 13。
i
 
分,顯示 00~59 分鐘,寫法為 date("i"),個位數前方補零,例如 6 分則顯示 06。
 
s
 
秒,顯示 00~59 秒,寫法為 date("s"),個位數前方補零,例如 6 秒則顯示 06。

PHP date 函式範例

有了以上的 PHP date 函式 $format 參數表,我們就可以來製作許多種時間格式範例。
<?php
echo date("Y-m-d H:i:s"); // 常用的完整表示法,分別為年、月、日、時、分、秒,輸出結果類似 2013-06-05 05:12:50。
echo date("m.d.y"); // 將時間做成以點區分,分別為月、日、年,輸出結果類似 06.05.13。
echo date("m.d.Y"); // 將時間做成以點區分,分別為月、日、年,差別在於年的顯示,輸出結果類似 06.05.2013。
echo date('Y 年 m 月 d 日');  // 更進一步將中文帶入顯示結果,輸出類似:2013 年 06 月 05 日。
echo date('Y 年 n 月 j 日'); // 將月與日的零消去,輸出結果類似:2013 年 6 月 5 日。
?>
 
PHP date 函式用起來就是這麼簡單容易,不過比較需要注意的是範例中有輸出繁體中文的部分,PHP 程式碼的檔案本身編碼必須可以支援繁體中文才不會出錯,否則很可能會輸出亂碼,建議採用萬國碼 UTF-8 為主要編碼原則。