PHP で日付をタイムスタンプに変換する方法
-
PHP で
strtotime()
関数を使用して日付をタイムスタンプに変換する -
PHP で
strptime()
関数を使用して日付をタイムスタンプに変換する -
PHP で
getTimestamp()
関数を使用して日付をタイムスタンプに変換する -
PHP で
format()
関数を使用して日付をタイムスタンプに変換する
この記事では、PHP で date
を DateTime
に変換するメソッドを紹介します。
strtotime()
関数を使用するstrptime()
関数を使用するgetTimestamp()
関数を使用するformat()
関数を使用する
PHP で strtotime()
関数を使用して日付をタイムスタンプに変換する
組み込み関数 strtotime()
は日付を Unix タイムスタンプ
に変換します。Unix タイムスタンプは、Unix エポック(1970 年 1 月 1 日)から計算された合計秒数です。この関数を使用するための正しい構文は次のとおりです
strtotime($dateString,$timeNow);
この関数には 2つのパラメーターがあります。$dateString
は、PHP 有効な形式に準拠する必要がある日付/時刻の文字列です。これは必須パラメーターです。他のパラメータ $timeNow
はオプションで、相対日付の計算に使用されるタイムスタンプです。2 番目のパラメーターが省略されている場合、現在の時刻現在
がデフォルト値です。
<?php
$timestamp = strtotime("23-04-2020");
echo "The timestamp is $timestamp.";
?>
ここでの日付の形式は"d-m-Y"
です。date
を Unix タイムスタンプ
に変換するため、1つのパラメータのみを渡しました。
出力:
The timestamp is 1587600000.
PHP で strptime()
関数を使用して日付をタイムスタンプに変換する
これは、日付を Unix のタイムスタンプ
に変換するもう 1つの関数です。date
を直接 timestamp
に変換しません。これは、秒、分、時間、およびその他のいくつかの詳細を示す配列を返します。これらの詳細を使用して、date
を timestamp
に変換できます。
strptime($dateString, $format);
2つの必須パラメーターがあります。$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']
は 0
から始まるため、$array['tm_mon']
に 1 を加算し、その合計を month
の month
のパラメータとして使用します。つまり、、1 月の $array['tm_mon']
は 0 です。PHP で getTimestamp()
関数を使用して日付をタイムスタンプに変換する
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.
PHP で format()
関数を使用して日付をタイムスタンプに変換する
DateTime
の format()
メソッドを使用して、date
を timestamp
に変換することもできます。このメソッドには、format()
関数の手続き型の表現である別の表現 date_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 の timestamp
に変換しました。
出力:
The timestamp is 1587600000.
関連記事 - PHP DateTime
- PHP を使用して 2つの日付の差を計算する方法
- PHP で DateTime を文字列に変換する方法
- PHP で現在の年を取得する方法
- PHP でタイムスタンプを読み取り可能な日付または時刻に変換する方法
- PHP で現在の日付と現在時刻を取得する方法