在開發 Web 應用程式中,經常會涉及到日期資料類型的轉換。 PHP 提供了豐富的日期和時間函數,可以方便地進行日期的格式化、比較、計算等操作。本文將介紹 PHP 中的日期資料型別及其轉換方法。
在 PHP 中,日期可以用字串或整數表示。常用的日期格式包括:
透過PHP 內建函數strtotime() 可以將表示日期和時間的字串轉換成Unix 時間戳記。函數接受一個表示日期和時間的字串作為參數,傳回該日期所對應的 Unix 時間戳記。
$time_str = '2022-01-01'; $time_stamp = strtotime($time_str); echo $time_stamp; // 输出:1640995200
上述程式碼將日期字串 '2022-01-01' 轉換成 Unix 時間戳,並輸出該時間戳記。
注意:當使用strtotime() 函數將日期字串轉換成時間戳記時,日期格式必須為"Month Day Year" 或"Day Month Year" 的英文日期格式或"Y-m-d" 的日期格式。
透過 PHP 內建函數 date() 可以將 Unix 時間戳格式化為指定的日期格式。此函數接受兩個參數:第一個參數是表示日期格式的字串,第二個參數是 Unix 時間戳記。
$time_stamp = 1640995200; $date_str = date('Y-m-d H:i:s', $time_stamp); echo $date_str; // 输出:2022-01-01 00:00:00
上述程式碼將 Unix 時間戳記 1640995200 格式化為 'Y-m-d H:i:s' 格式的日期字串,並輸出該字串。
在 PHP 中,可直接使用字串比較運算子(>、<、==、!= 等)比較日期字串的大小。如果將日期字串轉換為 Unix 時間戳,也可以直接使用數字比較運算子(>、<、=、!= 等)進行比較。
$date_str1 = '2022-01-01'; $date_str2 = '2022-01-02'; if ($date_str1 < $date_str2) { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之前'; } else { echo '日期 ' . $date_str1 . '在 ' . $date_str2 . '之后'; }
上述程式碼比較了兩個日期字串的大小,並輸出最終的比較結果。
可以使用 PHP 內建函數 mktime() 將日期轉換成 Unix 時間戳記。函數接受多個參數,依序為時、分、秒、月、日、年。如果不指定參數,函數會傳回目前時間的 Unix 時間戳記。
$year = 2022; $month = 1; $day = 1; $hour = 0; $minute = 0; $second = 0; $time_stamp = mktime($hour, $minute, $second, $month, $day, $year); echo $time_stamp; // 输出:1640995200
上述程式碼將日期 '2022-01-01' 轉換成 Unix 時間戳,並輸出該時間戳記。
和上面介紹的 date() 函數一樣,PHP 內建函數 strftime() 也可以將 Unix 時間戳格式化為指定的日期格式。此函數接受兩個參數:第一個參數為表示日期格式的字串(支援格式化字符,如%Y、%m、%d、%H、%M、%S 等),第二個參數是Unix 時間戳。
$time_stamp = 1640995200; $date_str = strftime('%Y年%m月%d日 %H时%M分%S秒', $time_stamp); echo $date_str; // 输出:2022年01月01日 00时00分00秒
上述程式碼將 Unix 時間戳記 1640995200 格式化為指定的日期格式,並輸出該格式化後的字串。
在PHP 中,涉及日期類型的轉換操作,開發者可以利用內建函數strtotime()、date()、mktime()、strftime() 等函數方便地進行操作。在實際開發中,需要根據具體的需求選擇合適的函數,並靈活運用。
以上是php 日期資料型別轉換的詳細內容。更多資訊請關注PHP中文網其他相關文章!