PHP - よく使う関数 - 日付および時刻関連


クラウディア 


1. 概要
2. time タイムスタンプを取得
3. date ローカルの日付/時刻を書式化する
4.  デフォルトタイムゾーンを取得
5. 参考サイト

1. 概要

 ここでは、日付および時刻関連の関数に関するメモを記述します。

2. time タイムスタンプを取得

 「time()」は、「Unix」のタイムスタンプを取得します。

function time(): int
 C言語の「time()」と同じですね。  「int」型の「Unix」タイムスタンプ。  「1970-01-01 00:00:00」を起点として、通算の時間を秒単位で取得します。  32ビットであれば、2038年問題が発生しますが。64ビットであれば、地球が滅亡する時間までは、大丈夫そうです。

3. date ローカルの日付/時刻を書式化する

 おそらくは、日時関連で最も使う関数ですな。

string date ( string $format [, int $timestamp = time() ] )
 第2引数のタイムスタンプを省略すれば、システムの現在日時となります。  書式文字列でわたしがよく使うのは。
 書式  意    味
Y 西暦4桁
y 西暦2桁
m 月を0パディング。01~12。
M 月。3 文字形式。Jan ~ Dec。
n 月を0サプレス。1~12。
d 日を0パディング。01~31。
j 日を0サプレス。1~31。
H 時を0パディング。0~23。
i 分を0パディング。0~59。
s 秒を0パディング。0~59。

 「M」なんかは使いたくないのですが、「php」のログの書式で使っているのでしょうがないのです。

4. デフォルトタイムゾーンを取得


string date_default_timezone_get ( void )
/usr/local/etc/php.ini
 に書いてある。

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone

date.timezone = "Asia/Tokyo"
 の「date.timezone」の値を取得します。  まぁ。大抵、日本で使っていれば上記の値を設定しているわけで

<?php
print(date_default_timezone_get()."\n");
 を実行すると

Asia/Tokyo
 という出力になるわけです。

5. 参考サイト

 本ページは、下記のサイトを参考にさせていただきました。
PHP: time - Manual」
「PHP: date」
「PHP: DateTimeInterface::format