首頁 >後端開發 >PHP問題 >php 日期資料型別轉換

php 日期資料型別轉換

王林
王林原創
2023-05-07 11:11:11952瀏覽

在開發 Web 應用程式中,經常會涉及到日期資料類型的轉換。 PHP 提供了豐富的日期和時間函數,可以方便地進行日期的格式化、比較、計算等操作。本文將介紹 PHP 中的日期資料型別及其轉換方法。

PHP 日期資料型別

在 PHP 中,日期可以用字串或整數表示。常用的日期格式包括:

  • Y-m-d H:i:s:年-月-日時:分:秒,如2022-01-01 00:00:00
  • Y/m/d H:i:s:年/月/日時:分:秒,如2022/01/01 00:00:00
  • Y年m月d日H時i分s秒:年月日時分秒,如2022年01月01日00時00分00秒
  • Unix 時間戳:自1970 年1 月1 日以來經過的秒數,如1640995200

字串轉日期類型

透過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" 的日期格式。

Unix 時間戳記日期格式

透過 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn