時間関連

UNIXタイムスタンプから日時の値を取得 localtime

//現地日時(php.ini で指定されたロケール)
list($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime( time() );

// 第二引数を TRUEにするとハッシュのキーが設定される
// tm_sec	秒		[0〜59]
// tm_min	分		[0〜59]
// tm_hour	時		[0〜23]
// tm_mday	日(月ごとの)	[1〜31]
// tm_mon	月		[0〜11] +1 で通常の月
// tm_year	年(1900からの)[0〜xx] +1900 で通常の年
// tm_wday	週		[0〜6]
// tm_yday	日(年ごとの)	[0〜365]
// tm_isdst	夏時間
$arr = localtime( time(),TRUE );
var_dump($arr);

// localtime を gmtime にすると世界標準時での日時を取得

localtime,gmtimeでの値は大人の事情により
年が1900年以降の値だったり、月が0〜11表記であったりクセがある。
正しい値に直すには

$year += 1900;
$mon++;

のような処理が必要となる。

UNIXタイムスタンプから日時文字列取得 date

$t = time();
echo date("Y/m/d H:i:s", $t)."\n"; // "2000/10/21 16:01:07"
echo date("r", $t)."\n"; //RFC 2822 "Thu, 21 Dec 2000 16:01:07 +0200"

//UNIXタイムスタンプは省略可能
echo date("Y/m/d H:i:s")."\n"; // "2000/10/21 16:01:07"
echo date("r")."\n"; //RFC 2822 "Thu, 21 Dec 2000 16:01:07 +0200"

日時形式

RFC822

date('r');

日時フォーマット

-php date()Unix date
%A午前午後(AM,PM)
%BSwatch インターネット時間
%C
%D曜日[3文字]
%E
%F月[英語名]
%G24時間単位の時[1〜2桁]
%H24時間単位の時[2桁]
%Iサマータイムの有無[0,1]12時間単位の時[2桁]
%J
%K
%Lうるう年の有無[0,1]
%M月[英語名3文字]分[2桁]
%NISO-8601形式(5.1.0以降)
%O時分形式のグリニッジ標準時との時差
%P時:分形式のグリニッジ標準時との時差(5.1.3以降)
%Q
%R
%S日の後に付ける序数[st,nd,rd,th]秒[2桁]
%Tタイムゾーンの略称
%UUnixタイム(1970/1/1からの秒数)
%V
%WISO-8601 月曜開始の年間通算週数(4.1.0以降)
%Xロケールによる時刻表現
%Y年[4桁]
%Zタイムゾーンのオフセット秒数
%a午前午後[am,pm]
%b
%cISO-8601フォーマット日時(5.0.0以降)
%d日[2桁]
%eタイムゾーン識別子
%f
%g12時間単位の時[1〜2桁]
%h12時間単位の時[2桁]
%i分[2桁]
%j日[1〜2桁]
%k24時間単位の時[1〜2桁]
%l曜日[英語名]12時間単位の時[1〜2桁]
%m月[2桁]
%n月[1〜2桁]
%oISO-8601 年。週番号で少し違う(5.1.0以降)
%p午前午後
%q
%rRFC 2822フォーマット日時%p込みの12時間表記時
%s秒[2桁]Unixタイム(1970/1/1からの秒数)
%t指定月の総日数
%uマイクロ秒(5.2.2以降)
%v
%w曜日[日0〜土6]
%x
%y年[2桁]
%z年間通算日[0〜365]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規新規下位 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-06-16 (木) 17:35:22 (2291d)