matsubobo
あなたも質問に答えられます!
ウォッチリストに追加
- 状態:終了
- 回答数:3 / 5件
- 回答ポイント:92ポイント
- 登録:2008-04-01 16:57:32
- 終了:2008-04-02 14:44:35
- カテゴリー:
コンピュータ
インターネット
matsuboboさんが提示していらっしゃる
のように定義がいくつもあるのは,プロトコルやアプリケーションの仕様によって様々に定義されてきた歴史があるからです.
それらのプロトコルやアプリケーションは,インターネットの性格上,世界共通で使える日付フォーマットを必要としています.ですから必ず,「タイムゾーン表記」が必要になってきます.
見ていただければわかりますが,名前の付いてるフォーマットはすべてタイムゾーンが定義されています.
date('Y-m-d H:i:s')
で取得できるYYYY-MM-DD hh:mm:ss形式の日付にはタイムゾーンが含まれておらず,データ形式ではなくて「一般的な表示形式」ですから名前付けはされていません.
ISO8601を含むRFC 3339 (rfc3339) - Date and Time on the Internet: Timestampsを参考にすれば
date-fullyear = 4DIGIT
date-month = 2DIGIT ; 01-12
date-mday = 2DIGIT ; 01-28, 01-29, 01-30, 01-31 based on
; month/year
full-date = date-fullyear "-" date-month "-" date-mday
と定義されていますので,YYYY-MM-DDは「RFC3339でいうところのfull-date」です.
また,
time-hour = 2DIGIT ; 00-23
time-minute = 2DIGIT ; 00-59
time-second = 2DIGIT ; 00-58, 00-59, 00-60 based on leap second
; rules
time-secfrac = "." 1*DIGIT
partial-time = time-hour ":" time-minute ":" time-second
[time-secfrac]
とありますので,hh:mm:ssは「RFC3339でいうところのpartial-time」です.
YYYY-MM-DD hh:mm:ss形式は,RDF3339でいうところの「full-date partial-time」でしょうか.
データ形式ではなくて,日本語における~,英語における~という範疇の形式名はわかりませんが,日付・時刻の表記 | 国立国会図書館-National Diet Libraryにいくらか情報があります.
参考
わかりやすい説明ありがとうございます!
・PHPの時間に関する定数にはタイムゾーンが全て付いていることは新たな発見になりました。
・date('Y-m-d H:i:s')の返り値をMySQLへ入れていました。アプリケーションはJSTに設定されたサーバで提供しているためタイムゾーンの影響は受けませんが、タイムゾーンを考慮したフォーマットをアプリケーション内でも利用すべきですね。日本人にとって見やすい DATE_ATOM(DATE_W3C)を利用しようと思います。
2
回答者:
dungeon-master
2008-04-01 23:56:49
満足!
45ポイント
>質問:このフォーマットに名称は有りますか?
通称、YYYY-MM-DD hh:mm:ss形式(そのまんま…)ですね。
ポピュラーすぎて正式名称がない…
YYYY-MM-DD-hh:mm:ss なら JIS X0301第二形式ともいえますが。
いま、あえて言うなら日時分離型ISO8601表記、かなー。(勝手に考えた)
PHPだと、PearライブラリのDATEパッケージにある getDate(DATE_FORMAT_ISO)が
同様の結果を返します。
http://codezine.jp/a/article/aid/1816.aspx?p=2
DATE_FORMAT_ISOという識別子が示すように、一応「日付」と「時刻」自体はISO形式。
DATE_ISO8601はTを挟んで連結(combined)してタイムゾーン付きですが、
こちらは日付と時刻を分離(separated)表記してタイムゾーンなし。
PEARのDateには定義があるんですね。
ありがとうございます。
#補足ですが、1年前にアプリケーションの実行トレースをしたら、PEARのDateがすごく重かったです。。。
おとなり質問
- var/www/ にあるPHPファイルから require("file.php"); で usr/lib/php/includes/file.php を読み込めません。 php.iniでinclude_path = ".:/usr/lib/php/inc..
1 - 商用利用可能なWikiの列挙をお願いします。 列挙の基本フォーマットは以下でお願いします。 名前(言語/選択可能なストレージ) URL 例: Pukiwiki(PHP/ファイ..
2 - ログファイルの解析をPHPでしたいと考えています。 ログファイルは「NCSAタイプ(combinedフォーマット)のリファラーがはいっているもの」です。 今日の分はテキ..
0 - PHP を使っていて、不思議に思っていたのですが、require_once 等で、”./hoge” と ”hoge” とした時、違う動作をしているようなのです、./ のあるなしで、ど..
1 - PHPの gd 1.6以降で gif フォーマットに対応しなくなった経緯について説明しているページ。できれば公式系や日本語の情報がいいです。..
4 - ページランク(以下、PRと省略)についてです。 「動的ページにはPRは付かない」と言い切る解説が散見されますが、確かに付きにくいことはあっても、 実際に付い..
2 - PHPでの質問です。 2006/9/28というような文字列があり、 これを、yyyymmddの形式、つまり20060928にフォーマットしたいと思います。 スマートな方法をご教授く..
3 - アクセスログ解析のAnalogなどのようなことをPHPで行いたいと考えています。 実際にやりたいのは、リダイレクト元のURLやリファラーの取得です。 ログファイルは..
2 - DBFというフォーマットのファイル(EXCELやACCESSで使うみたい)を、shなどのスクリプトから読み込みたいのですが、 普通に読み込むとデータ部分が読み取れるも..
2

