ホームページ >バックエンド開発 >PHPの問題 >PHP で時間をタイムスタンプに変換するさまざまな方法について話しましょう

PHP で時間をタイムスタンプに変換するさまざまな方法について話しましょう

PHPz
PHPzオリジナル
2023-03-29 16:24:321701ブラウズ

PHP では、通常、タイムスタンプは特定の時点を表すために使用されます。タイムスタンプは、Unix エポック (1970 年 1 月 1 日 00:00:00 UTC) と指定された時点の間で経過した秒数であり、タイムゾーンに依存しない時間の表現です。

場合によっては、比較やその他の処理のために、特定の日付と時刻をタイムスタンプに変換する必要があります。 PHP ではこれを実現する方法がいくつかあります。以下では、いくつかの一般的な方法について説明します。

方法 1: strtotime

PHP の strtotime 関数は、人間が判読できる日付と時刻の文字列をタイムスタンプに変換できます。この関数の構文は次のとおりです。

strtotime(string $time [, int $now = time() ])

このうち、$time パラメータは変換する必要がある日付と時刻の文字列で、$now パラメータはオプションの参照時点であり、デフォルトは次のとおりです。現在の時刻。この関数はタイムスタンプを返します。

たとえば、2021 年 6 月 30 日の午前 10 時 30 分をタイムスタンプに変換します:

<?php
$time_str = "2021-06-30 10:30:00";
$timestamp = strtotime($time_str);
echo $timestamp;

上記のコードの出力結果は次のとおりです:

1625038200

方法 2: DateTime class

PHP の DateTime クラスは強力な日付と時刻操作ツールであり、日付と時刻をタイムスタンプに変換するためのさまざまなメソッドを提供します。一般的に使用される 2 つのメソッドの例を次に示します。

  1. format メソッドと getTimestamp メソッド

DateTime クラスの format メソッドは、日付と時刻のオブジェクトを指定された文字列にフォーマットできます。ここで、共通の書式設定パラメーターは次のとおりです。

  • Y: 年、例: 2021
  • m: 月、例: 06
  • d: 日、例:30
  • H: 時間、例: 10
  • i: 分、例: 30
  • s: 秒、例: 00

DateTime クラスの getTimestamp メソッドは、日付と時刻のオブジェクトをタイムスタンプに変換できます。上記の 2 つの方法を一緒に使用すると、日時オブジェクトをタイムスタンプに変換できます。以下はサンプル コードです:

<?php
$date_str = "2021-06-30 10:30:00";
$date_obj = new DateTime($date_str);
$timestamp = $date_obj->getTimestamp();
echo $timestamp;

上記のコードの出力は次のとおりです:

1625038200
  1. setTime メソッドとフォーマット メソッド

の setTime メソッドDateTime クラスは日付を設定できます。時間オブジェクトは指定された時点に設定されます。このメソッドを format メソッドと組み合わせて使用​​し、日時オブジェクトをタイムスタンプに変換します。以下はサンプル コードです:

<?php
$date_obj = new DateTime();
$date_obj->setTime(10, 30, 0);
$timestamp = $date_obj->format('U');
echo $timestamp;

上記のコードの出力結果は次のとおりです:

1625038200

方法 3: date 関数

PHP の date 関数は、タイムスタンプを次の形式にフォーマットできます。指定された日付時刻文字列。この関数の構文は次のとおりです。

date(string $format [, int $timestamp = time() ])

このうち、$format パラメータは変換する必要がある日付と時刻の形式文字列で、$timestamp パラメータはオプションのタイムスタンプで、デフォルトは次のとおりです。現在の時刻。この関数は、フォーマットされた日付と時刻の文字列を返します。

この関数をタイムスタンプと組み合わせて使用​​し、タイムスタンプを日付と時刻の文字列に変換します。たとえば、タイムスタンプ 1625038200 を日付と時刻の文字列に変換します。

<?php
$timestamp = 1625038200;
$date_str = date('Y-m-d H:i:s', $timestamp);
echo $date_str;

上記のコードの出力は次のとおりです。

2021-06-30 10:30:00

要約

この記事では、日付と時刻を変換するための PHP を紹介します。 time into time 3 つのスタンプ方法: strtotime 関数、DateTime クラス、および date 関数。開発者は、特定のニーズに基づいて適切な変換方法を選択できます。

以上がPHP で時間をタイムスタンプに変換するさまざまな方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。