如何在 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 計算兩個日期之間的差
- 如何在 PHP 中將 DateTime 轉換為字串
- 如何在 PHP 中獲取當前年份
- 如何在 PHP 中將時間戳轉換為可讀的日期或時間