gmstrftime
解説 | ロケールの設定に基づいて日時を書式化し、GMTの日付で取得する |
---|---|
書式 | string gmstrftime( string format [, int timestamp ] ) |
string gmstrftime( string 書式 [, int タイムスタンプ ] ) |
|
引数 |
format
フォーマットする書式
|
timestamp
Unixタイムスタンプ
|
|
返値 | 指定した書式でフォーマットされた文字列 |
gmstrftime()は第2引数で指定されたタイムスタンプを第1引数で指定したフォーマット文字によってフォーマット(整形)し、整形後の文字列を返します。
strftime()関数と機能や使用方法は同じですが、gmstrftime()関数の場合は返される時刻がグリニッジ標準時(GMT)となります。
フォーマット(書式化)された文字列を返します。
format
書式フォーマット(書式)を指定します。書式の指定にはフォーマット文字という書式化用に予め定められた文字を使います。フォーマット文字の一覧は後述します。
timestamp
タイムスタンプフォーマットしたい日付や時刻のタイムスタンプを指定します。省略した場合はtime()関数の値、つまり現在時刻が適用されます。
gmstrftime()はgmdate()関数と同じ働きを持っていますが、書式化に使用するフォーマット文字が違います。また、setlocale()で出力したいロケールを設定する事ができ、ロケールの設定によって曜日や月の名前が変化します。
※全てのプラットフォームが負の値のタイムスタンプをサポートしているわけではないため、日付の範囲はUNIX時(1970年1月1日)以降に制限されます。
参考関数
- strftime() ---- ロケールの設定に基づいて日時を書式化する
- date() ---- 日付・時刻を書式化する
- mktime() ---- 指定した日時のUNIXタイムスタンプを取得する
- setlocale() ---- ロケール情報をセットする
フォーマット文字一覧
strftime()のフォーマット文字一覧です。gmstrftime()でも同じフォーマット文字を使用します。
この表に挙げられているフォーマット文字は、使用するCライブラリによってはサポートされていない可能性があります。
フォーマット文字 | 説明 |
---|---|
%a | 短縮された曜日の名前 |
%A | 完全な曜日の名前 |
%b | 短縮された月の名前 |
%B | 完全な月の名前 |
%c | 適当な日付と時間の表現 |
%C | 世紀(年)を100で割り、整数に丸めたもの。(00 ~ 99) |
%d | 日付を10進数で。(01 ~ 31) |
%D | 現在の日付。%m/%d/%yと同じ |
%e | 月単位の日付を10進数で表したもの。日付が1桁の場合は、前に空白を一つ付けます。(1 ~ 31) |
%h | %bと同じ。 |
%H | 時間を24時間表示の10進数で(00 ~ 23) |
%I | 時間を12時間表示の10進数で(01 ~ 12) |
%j | 年間での日付を10進数で表現(001 ~ 366) |
%m | 月を10進数で表現(01 ~ 12) |
%M | 分を10進数で表現 |
%n | 改行文字 |
%p | 指定した時間により"am"または"pm"、または現在のロケールに対応した文字列 |
%r | a.m.およびp.m.表記で表した時間 |
%R | 24時間表記で表した時間 |
%S | 秒を10進数で表現 |
%t | タブ文字 |
%T | 現在の時間。%H:%M:%Sと同じ。 |
%u | 10進数表記の曜日(1 ~ 7)1が月曜日。 |
%U | 年間で何番目の週であるかを10進数で表現。年間で最初の日曜を最初の週の最初の日として数えます。 |
%V | ISO 8601:1988で規定された現在の年の週番号の10進数表現(01 ~ 53)。1は最初の週でその週は現在の年に最低4日はあります。週は月曜日から始まります。 |
%W | 現在の年で何番目の週であるかを10進数で表現。年間で最初の月曜を最初の週の最初の日として数えます。 |
%w | 曜日を10進数で表現。日曜は0になります。 |
%x | 時間を除いた日付 |
%X | 日付を除いた時間 |
%y | 世紀の部分を除いた年を10進数として表現。(00 ~ 99) |
%Y | 世紀を含む年を10進数で表現 |
%Z | タイムゾーンまたはその名前または短縮形 |
%% | "%"文字そのもの |
この表に挙げられている以外の文字列があればその文字列はそのまま出力されます。
サンプルスクリプト
簡単な利用例
- //フォーマット文字が使用可能である必要があります。
- echo gmstrftime( "%D %T" )."<br />\n";
- echo strftime( "%D %T" );
出力結果
01/21/21 10:20:07
01/21/21 19:20:07
01/21/21 19:20:07