如何在 PHP 中將日期轉換為時間戳
-
使用
strtotime()函式將日期轉換為 PHP 中的時間戳 -
使用
strptime()函式將日期轉換為 PHP 中的時間戳 -
使用
getTimestamp()函式將日期轉換為 PHP 中的時間戳 -
使用
format()函式將日期轉換為 PHP 中的時間戳
在本文中,我們將介紹在 PHP 中將 date 轉換為 timestamp 的方法。
- 使用
strtotime()函式 - 使用
strptime()函式 - 使用
getTimestamp()函式 - 使用
format()函式
使用 strtotime() 函式將日期轉換為 PHP 中的時間戳
內建函式 strtotime() 將日期轉換為 Unix 時間戳。Unix 時間戳是從 Unix 時代(1970 年 1 月 1 日)計算出的總秒數。使用此函式的正確語法如下
strtotime($dateString,$timeNow);
此函式有兩個引數。$dateString 是應該符合 PHP 有效格式的日期/時間字串。它是必填引數。另一個引數 $timeNow 是可選的,它是用於計算相對日期的時間戳。如果省略第二個引數,則當前時間 now 是預設值。
<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>
這裡的日期格式為 "d-m-Y"。我們僅傳遞了一個引數,因為它將把 date 轉換為 Unix 時間戳。
輸出:
The timestamp is 1587600000.
使用 strptime() 函式將日期轉換為 PHP 中的時間戳
這是將日期轉換為 Unix 時間戳的另一個功能。它不會將日期直接轉換為時間戳。它返回一個陣列,該陣列講述秒,分鐘,小時以及其他一些詳細資訊。我們可以使用這些詳細資訊將日期轉換為時間戳。
strptime($dateString, $format);
它有兩個必填引數。$dateString 是日期字串,$format 是解析 $dateString 的格式。
<?php
$array = strptime('23-04-2020', '%d-%m-%Y');
$timestamp = mktime(0, 0, 0, $array['tm_mon']+1, $array['tm_mday'], $array['tm_year']+1900);
echo "The timestamp is $timestamp.";
?>
輸出:
The timestamp is 1587600000.
生成陣列後,mktime() 函式將 date 轉換為 timestamp。
mktime() 函式的語法是
mktime(hour, minute, second, month, day, year, is_dst)
is_dst 指定日期時間是否為夏令時,但已從 PHP 7.0.0 中刪除。
$array['tm_mon'] 上加 1,然後將和用作 mktime 中的 month 的引數,因為 $array['tm_mon'] 從'0’開始,或者換句話說,一月份的 $array['tm_mon'] 為 0。使用 getTimestamp() 函式將日期轉換為 PHP 中的時間戳
DateTime 物件的 getTimestamp()方法是一種將日期轉換為時間戳的簡單方法。它有另一種表示方法 date_timestamp_get(),它是程式樣式表示。
$datetimeObject->getTimestamp();
我們將建立一個 Datetime 物件來呼叫此函式。這是呼叫函式的物件導向風格。
<?php
$date = new DateTime('2020-04-23');
$timestamp = $date->getTimestamp();
echo "The timestamp is $timestamp.";
?>
Datetime 類的物件 $date 已呼叫方法 getTimestamp()將 date 轉換為 Unix timestamp。
輸出:
The timestamp is 1587600000.
使用 format() 函式將日期轉換為 PHP 中的時間戳
我們還可以使用 DateTime 的 format()方法將 date 轉換為 timestamp。該方法還有另一種表示形式 date_format(),它是 format()函式的過程樣式表示。
$datetimeObject->format("U");
為了將 date 轉換為 timestamp,我們將作為字串傳遞的格式為 "U"。
<?php
$dateObject = new DateTime('2020-04-23');
$timestamp = $dateObject->format("U");
echo "The timestamp is $timestamp.";
?>
Datetime 類的物件 $dateObject 呼叫了函式 format() 將日期轉換為 Unix 時間戳。
輸出:
The timestamp is 1587600000.
相關文章 - PHP DateTime
- 如何使用 PHP 計算兩個日期之間的差
- 如何在 PHP 中將 DateTime 轉換為字串
- 如何在 PHP 中獲取當前年份
- 如何在 PHP 中將時間戳轉換為可讀的日期或時間
- 如何在 PHP 中獲取當前日期和時間