原本想可能有點麻煩,沒想到出乎意料的容易
真是強大的語言呀
今天要來介紹的就是 strtotime,不過要換格式還是要搭配 date函式,在PHP date 一開始就可以使用制定的格式產出日期字串 ,以下就是Date的格式參數:
a am 或 pm
A AM 或 PM
d 日,二位數,不足二位數補零; 如 01至 31
D 星期,三個英文字; 如 Fri
F 月份,全名; 如 January
g 小時,12 小時制; 如: 1 至 12
G 小時,24 小時制; 如: 0 至 23
h 小時,12 小時制,不足二位數補零; 如 01 至 12
H 小時,24 小時制,不足二位數補零; 如 00 至 23
i 分; 如: 00 至 59
j 日; 如: 1 至 31
l 星期,全名; 如: Friday
m 月,二位數,不足二位數補零; 如 01 至 12
M 月,三個英文字; 如: Jan
n 月; 如: 1 至 12
O 和格林威治標準時間的小時差異數
s 秒; 如: 00 至 59
S 日之後加的序數; 如: th、nd
t 月的總天數; 如: 28 至 31
T 本機的時區
U 自 1970/1/1 00:00:00 以來的秒數
w 星期,個位數字; 如 0 至 6
Y 年,四位數; 如: 1999
y 年,二位數; 如: 99
z 一年的第幾天; 如: 0 至 365
不在上列的字元將直接顯示。
看來和其它語言的Date Format差不多,但它只點搭配strtotime就更強大了,我們先來解答一下如何將 YYYY-MM-DD 格式的日期字串轉換 MM/DD/YYYY格式呢?
$date1=date("Y-m-d");
$showDate=date("m/D/Y",strtotime($date1));
簡簡單單短短一行就搞定了,原本還想說要自己先將字串 轉成日期變數再去重新定義日期格式產出字串,現在都不用了,而且strtotime判斷日期格式的字串功力還非常的強大,除此之外還有一些特別的日期運算能力,我就不多說直接看範例:
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
這樣看的懂嗎? 很簡單吧,它還可以進行日期的加總或以設定的時間產出日期字串,除此之外也可以拿來進行日期格式的驗證,範例如下 :
$str = 'Not Good';
// previous to PHP 5.1.0 you would compare with -1, instead of false
if (($timestamp = strtotime($str)) === false) {
echo "The string ($str) is bogus";
} else {
echo "$str == " . date('l dS of F Y h:i:s A', $timestamp);
}
所以對日期格式的轉換或驗證是不是在PHP上更加的容易呢?
參考資料:
https://www.php.net/strtotime
沒有留言:
張貼留言