Руководство:Временна́я метка
Формат временны́х меток, используемый в URL-адресах MediaWiki и в некоторых полях баз данных MediaWiki — yyyymmddhhmmss
.
Так, для примера, временно́й меткой для 2024-10-25 21:25:45 (UTC)
является 20241025212545
.
Часовой пояс этих временны́х меток единый — это UTC, или всемирное координированное время.
Функция MediaWiki wfTimestamp()
предоставляет удобный способ конвертации временных меток из общеиспользуемых форматов в формат временной метки MediaWiki и обратно.
За более детальной информацией обратитесь к Manual:wfTimestamp .
Никогда не используйте wfTimestamp()
при вставке временной метки в базу данных — это приведёт к поломке в PostgreSQL и вероятно в других базах данных, отличных от MySQL.
Вместо этого используйте DatabaseBase::timestamp()
, она же $dbw->timestamp()
, которая преобразует временную метку в одном из форматов, допустимых для wfTimestamp()
, в формат, используемый для вставки в поля временных меток в данной СУБД.
wfTimestampNow()
— вспомогательная функция, которая возвращает временную метку MediaWiki текущего времени.
MediaWiki хранит временные метки в виде строк, а не в виде собственного типа данных временной метки, потому что тип TIMESTAMP в MySQL имел серьёзные ограничения, когда 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