PHP は、さまざまなデータ型と関数をサポートする非常に人気のあるサーバーサイド スクリプト言語であり、その中で時間型がよく使用されます。実際のアプリケーションでは、時刻テキストをタイムスタンプに変換して処理する必要がある場合がありますが、この記事では、この機能を PHP を使用して実装する方法を紹介します。
1. 時刻テキストをタイムスタンプに変換する
PHP では、strtotime() 関数を使用して時刻テキストをタイムスタンプに変換できます。この関数の一般的な形式は次のとおりです。
strtotime(string $time [, int $now = time() ])
このうち、$time は変換する必要がある時刻テキストです。$now はオプションのパラメータで、変換中に使用される現在時刻を示します。デフォルト値は次のとおりです。 time() 関数によって返された時刻 現在の UNIX タイムスタンプ。
以下は簡単なサンプル コードです:
<?php $timeStr = '2021-06-01 12:00:00'; // 时间文本 $timestamp = strtotime($timeStr); // 转换成时间戳 echo $timestamp; ?>
出力結果は次のとおりです: 1622539200
2. 他の時刻のテキスト形式の変換
一般的に使用される「年-月-日 時:分:秒」形式に加えて、strtotime() 関数は他の時間テキスト形式の変換もサポートしています。一般的に使用されるいくつかの形式とそれに対応するサンプル コードを次に示します。
#相対時間形式は、「/- デジタル年/月/週/日/時/分/秒」を指します。ここで、「/-」 ' は現在の時刻を加算/減算することを意味し、数字は加算または減算する時間の量を示し、年/月/週/日/時/分/秒はそれぞれ、調整する必要がある時間単位を示します。たとえば、次のコードは現在のタイムスタンプの 1 時間前のタイムスタンプを返します。
<?php $timestamp = strtotime('-1 hour'); echo $timestamp; ?>
strtotime() 関数は、次の形式で表される時刻テキストもサポートしています。英語の場合、たとえば、「now」は現在時刻を表し、「yesterday」は昨日を表します。また、「 June 1, 2021」は 2021 年 6 月 1 日を表すなど、英語の月と週の名前も使用できます。以下はサンプル コードです:
<?php $timestamp = strtotime('June 1, 2021'); echo $timestamp; ?>
3. タイム ゾーンの問題への対処
PHP の日付と時刻の関数を使用する場合は、タイム ゾーンの問題に注意する必要があります。タイムゾーンを指定しない場合、PHP はサーバーのデフォルトのタイムゾーンを使用します。他のタイム ゾーンを使用する必要がある場合は、date_default_timezone_set() 関数を使用してタイム ゾーンを設定できます (例:
<?php date_default_timezone_set('Asia/Shanghai'); // 设置时区为上海 $timeStr = '2021-06-01 12:00:00'; // 时间文本 $timestamp = strtotime($timeStr); // 转换成时间戳 echo $timestamp; ?>
IV. 概要
この記事では、PHP を使用して、時刻テキストをタイムスタンプに変換する、時刻テキスト形式を変換するその他の方法、およびタイムゾーンの問題に対処するための考慮事項。これらのスキルに習熟すると、PHP 開発における時間関連の問題に対処し、開発効率を向上させることができます。
以上がPHP で時刻テキストをタイムスタンプに変換する方法の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。