PHP では、時刻文字列をタイムスタンプに変換するのは非常に一般的なプログラミング タスクです。タイムスタンプは、Unix 時間 (1970 年 1 月 1 日) から経過した秒数を指します。汎用形式であるため、日付と時刻を処理するために広く使用されています。 PHP には多くの組み込みの日付と時刻関数が用意されていますが、一部の特殊な時刻形式では時刻変換が必要です。
以下では、PHP で時刻文字列をタイムスタンプに変換する方法について説明します。
strtotime() 関数は、PHP の処理時間にとって重要な関数です。人間が判読できる日付文字列を解析して Unix タイムスタンプに変換できます。以下は、strtotime() 関数を使用して時刻文字列をタイムスタンプに変換する方法です。
$time = strtotime("2019-01-01 10:30:00");
ここでは、時刻文字列「2019-01-01 10:30:00」が strtotime( ) 関数。この関数は、その時刻文字列で表される時刻を表す Unix タイムスタンプを返します。このタイムスタンプは変数 $time に保存できます。
PHP5.2 以降では、DateTime クラスを使用して時刻文字列をタイムスタンプに変換できます。このクラスは、日付の計算、日付の書式設定など、より多くの日付と時刻の処理関数を提供します。 DateTime クラスを使用して時刻文字列をタイムスタンプに変換する方法は次のとおりです。
$dt = new DateTime("2019-01-01 10:30:00"); $time = $dt->getTimestamp();
ここでは、まず DateTime オブジェクト $dt を作成し、それに時刻文字列をパラメータとして渡します。次に、getTimestamp() メソッドを使用してタイムスタンプを取得します。このタイムスタンプは変数 $time に保存できます。
「01/01/2019 10:30」などの標準以外の時刻文字列がある場合は、date_parse( ) 関数はそれをタイムスタンプに変換します。 date_parse() 関数は、日付文字列を解析して、日付と時刻のさまざまな部分を含む配列を作成できます。これらの部分を使用すると、datetime オブジェクトを構築し、getTimestamp() メソッドを使用してそれを Unix タイムスタンプに変換できます。
date_parse() 関数を使用して時刻文字列をタイムスタンプに変換する方法は次のとおりです:
$date_parts = date_parse("01/01/2019 10:30"); $date = new DateTime(); $date->setDate($date_parts["year"], $date_parts["month"], $date_parts["day"]); $date->setTime($date_parts["hour"], $date_parts["minute"], $date_parts["second"]); $time = $date->getTimestamp();
ここでは、最初に date_parse() 関数を使用して時刻文字列を連想配列に解析します。 $date_parts。次に、これらの配列要素を使用して DateTime オブジェクト $date を作成します。最後に、getTimestamp() メソッドを使用して $date から Unix タイムスタンプを取得します。このタイムスタンプは変数 $time に保存できます。
概要:
この記事では、時刻文字列をタイムスタンプに変換する 3 つの方法を紹介します。 strtotime() 関数、DateTime クラス、および date_parse() 関数を使用すると、さまざまな時刻形式を簡単に処理し、Unix タイムスタンプに変換できます。どちらの方法を選択する場合でも、日付と時刻の形式は正しく解析する必要があることに注意してください。解析しないと時刻エラーが発生します。
以上がPHPで時刻文字列をタイムスタンプに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。