Manual:タイムスタンプ
MediaWiki の URL やMediaWiki データベースの一部のフィールドで使用されるタイムスタンプの書式は yyyymmddhhmmss
です。
例えば、2024-12-02 20:23:29 (UTC)
のタイムスタンプは 20241202202329
です。
これらのタイムスタンプのタイムゾーンは UTC です。
MediaWiki の wfTimestamp()
関数は、一般的な書式のタイムスタンプから MediaWiki のタイムスタンプ書式に、またはその逆に変換する便利な方法を提供します。
詳細は Manual:wfTimestamp を参照してください。
データベースにタイムスタンプを挿入する際は、絶対に wfTimestamp()
を使用してはいけません; これにより PostgreSQL やその他の非 MySQL データベースでは壊れる可能性があります。
代わりに DatabaseBase::timestamp()
(別名 $dbw->timestamp()
) を使用します。これは、wfTimestamp()
が受け入れる形式の 1 つであるタイムスタンプを、この DBMS のタイムスタンプ フィールドに挿入するための形式に変換します。
wfTimestampNow()
は、現在の日時に対する MediaWiki タイムスタンプを返す便利な関数です。
MediaWiki が最初に書かれたとき、MySQL の TIMESTAMP 型には大きな制限があったため、MediaWiki はネイティブのタイムスタンプ型ではなく文字列としてタイムスタンプを保存します。[1]
データの型
ここでは、MediaWiki コアで使用されるさまざまなタイムスタンプのデータ型を紹介します:
binary(14)
- filearchive.fa_deleted_timestamp
- filearchive.fa_timestamp
- job.job_timestamp
- job.job_token_timestamp
- user.user_email_authenticated
- user.user_email_token_expires
- user_newtalk.user_last_timestamp
- user.user_newpass_time
- user.user_registration
- watchlist.wl_notificationtimestamp
binary(14) NOT NULL
- archive.ar_timestamp
- image.img_timestamp
- ipblocks.ipb_timestamp
- ip_changes.ipc_rev_timestamp (1.30 で導入)
- msg_resource.mr_timestamp (1.27 で除去)
- objectcache.exptime (1.36 で導入)
- oldimage.oi_timestamp
- page.page_touched
- protected_titles.pt_timestamp
- recentchanges.rc_timestamp
- revision.rev_timestamp
- revision_actor_temp.revactor_timestamp (1.31 で導入)
- transcache.tc_time (1.32 で除去)
- uploadstash.us_timestamp
- user.user_touched
- watchlist_expiry.we_expiry (1.35 で導入)
binary(14) NOT NULL default '19700101000000'
varbinary(14)
- page.page_links_updated
- page_restrictions.pr_expiry
- user.user_password_expires (1.23 で導入)
- user_groups.ug_expiry (1.29 で導入)
varbinary(14) NOT NULL
varbinary(14) NOT NULL default ''
- recentchanges.rc_cur_time (1.24 で除去)
timestamp NOT NULL