Manuel:Timestamp
Le format des dates (horodatage) utilisé dans les URLs MediaWiki et certains champs des bases de données MediaWiki est yyyymmddhhmmss
.
Par exemple, la représentation de 2024-12-03 08:03:33 (UTC)
est 20241203080333
.
Le fuseau horaire pour ces dates est l'UTC.
La fonction MediaWiki wfTimestamp()
permet de convertir pratiquement les dates aux formats usuels en dates de format MediaWiki et réciproquement.
Voir Manual:wfTimestamp pour plus de détails.
N'utilisez jamais wfTimestamp()
lorsque vous voulez enregistrer une date dans la base de données; cela perturbe PostgreSQL et éventuellement d'autres types de bases de données différents de MySQL.
A la place, utilisez DatabaseBase::timestamp()
, avec $dbw->timestamp()
, qui convertissent une date présente sous l'un des formats acceptés par wfTimestamp()
, vers le format utilisé pour réaliser l'insertion de champs date dans ce système de base de données.
wfTimestampNow()
est une fonction pratique qui retourne une date au format MediaWiki pour l'heure actuelle.
MediaWiki range les dates sous forme de chaînes plutôt que dans le type du format natif car le type TIMESTAMP de MySQL comportait des limitations majeures lorsque MediaWiki a été écrit intialement.[1]
Types de données
Voici les différents formats de date utilisés dans le noyau 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 (introduit dans 1.30)
- msg_resource.mr_timestamp (supprimé en 1.27)
- objectcache.exptime (introduit dans 1.36)
- oldimage.oi_timestamp
- page.page_touched
- protected_titles.pt_timestamp
- recentchanges.rc_timestamp
- revision.rev_timestamp
- revision_actor_temp.revactor_timestamp (introduit dans 1.31)
- transcache.tc_time (supprimé en 1.32)
- uploadstash.us_timestamp
- user.user_touched
- watchlist_expiry.we_expiry (introduit dans 1.35)
binary(14) NOT NULL default '19700101000000'
varbinary(14)
- page.page_links_updated
- page_restrictions.pr_expiry
- user.user_password_expires (introduit dans 1.23)
- user_groups.ug_expiry (introduit dans 1.29)
varbinary(14) NOT NULL
varbinary(14) NOT NULL default ''
- recentchanges.rc_cur_time (supprimé en 1.24)