タイムスタンプとは、1970年1月1日0時0分0秒から現在までの秒数を指し、コンピュータ分野で広く使われています。 PHP ではタイムスタンプの使用も非常に一般的であるため、タイムスタンプの変換方法を学ぶことも PHP 初心者にとって重要なスキルの 1 つです。
1. タイムスタンプを時間文字列に変換する
タイムスタンプを時間文字列に変換するには、date() 関数を使用できます。 date() 関数の最初のパラメータはフォーマット文字列で、その後にタイムスタンプが続きます。以下に例を示します。
$timestamp = time(); //获取当前时间戳 $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒” echo $timeStr; //输出“2021-11-11 11:11:11”
上記のコードでは、「Y」は年、「m」は月、「d」は日付、「H」は時間を表し、「i」は時間を表します。分、「s」は秒を表します。
2. 時刻文字列をタイムスタンプに変換する
時刻文字列をタイムスタンプに変換するには、strtotime() 関数を使用できます。以下は例です:
$timeStr = "2021-11-11 11:11:11"; $timestamp = strtotime($timeStr); //将时间字符串转换为时间戳 echo $timestamp; //输出“1636621871”
3. タイムゾーンの問題
PHP では、タイムゾーンは非常に重要な役割を果たします。あなたのサーバーが東 8 区にあり、顧客が西 5 区にある場合、顧客が取得する時間は確実にあなたのものより 13 時間遅くなります。
ただし、PHP はタイムゾーンの問題を解決するために、対応する関数を提供します。 date_default_timezone_set() 関数を使用して、デフォルトのタイムゾーンを変更できます。以下に例を示します。
date_default_timezone_set('Asia/Shanghai'); //设置时区为东八区 $timestamp = time(); //获取当前时间戳 $timeStr = date("Y-m-d H:i:s", $timestamp); //将时间戳转换为时间字符串,格式为“年-月-日 时:分:秒” echo $timeStr; //输出“2021-11-11 11:11:11”
上記のコードでは、タイムゾーンは「アジア/上海」、つまり東第 8 地区に設定されています。
4. タイムスタンプ変換ツール クラス
プロジェクトでタイムスタンプと時刻文字列を頻繁に変換する必要がある場合は、タイムスタンプ変換ツール クラスをカプセル化することを検討できます。
class TimestampConverter{ /** * 时间戳转换为时间字符串 * @param $timestamp 时间戳 * @param string $format 格式化字符串 * @return false|string */ public static function timestampToStr($timestamp, $format = "Y-m-d H:i:s") { date_default_timezone_set('Asia/Shanghai'); return date($format, $timestamp); } /** * 时间字符串转换为时间戳 * @param $timeStr 时间字符串 * @return false|int */ public static function strToTimestamp($timeStr) { date_default_timezone_set('Asia/Shanghai'); return strtotime($timeStr); } }
上記のコードでは、管理とメンテナンスを容易にするために、タイムスタンプを時刻文字列に変換するメソッドと、時刻文字列をタイムスタンプに変換するメソッドを 1 つのクラスにまとめています。
概要
この記事では、タイムスタンプを時刻文字列に変換する方法、時刻文字列をタイムスタンプに変換する方法、およびタイムゾーンに関する問題について紹介します。また、タイムスタンプ変換ツールクラスの例も掲載していますので、PHP初心者の参考になれば幸いです。
以上がPHPでタイムスタンプを変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。