web-dev-qa-db-fra.com

Date de publication avant 1970

J'ai un type de message personnalisé appelé livres. La date de publication des livres se situe entre 1700 et 1900.

Je souhaite définir la date de publication à ces dates (pour pouvoir interroger les résultats par année), mais il me semble impossible de définir une date avant le 1er janvier 1970.

Est-il possible de faire cela en quelque sorte?

10
passatgt

N'utilisez pas le champ post_date pour quelque chose pour lequel il n'est pas fait. Utilisez plutôt un champ post-méta. Le post_date est lié à post_date_gmt , vous obtiendrez un effet secondaire étrange même si vous pouviez obtenir une date antérieure à cela.

Créez donc des champs de méta post et interrogez ceux par taxe . Ignorer le champ par défaut.

En réponse à votre commentaire: N'utilisez pas de taxonomie.

  1. Les taxonomies sont construites pour permettre plusieurs termes par publication (ignorez les formats suivants ici). Le schéma ne correspond pas à votre cas d'utilisation.
  2. Les requêtes de taxonomie sont coûteuses, elles passent par trois tables.
  3. Il vous faudrait changer l'interface par défaut pour éviter des accidents tels que plusieurs affectations. Possible, mais pas tout à fait simple et peut-être pas compatible en aval.

J'ai aussi lancé un plugin de gestion de livre une fois, malheureusement, il est toujours dans l'état de projet… mais j'ai quelques recommandations concernant les dates:

  1. Utilisez deux types de publication: une pour l’opus, une pour les éditions réelles (le type opus serait un parent pour plusieurs éditions). Ainsi, vous pouvez stocker la date de création dans l'opus, la date de publication (la langue, l'éditeur, le traducteur, etc.) dans l'édition.

  2. Lire Rendre <time> sûr pour les historiens . Les dates avant 1970 sont difficiles.

  3. Les fonctions Fonctions date et heure de MySQL ne peuvent pas gérer tous les cas, vous obtenez des routines de tri personnalisées, en fonction de votre solution pour (2.).

10
fuxia

Ce plugin utilise la ADOdb Date Library par John Lim de PHP Everywhere, ce qui est - je cite - "un charme pour le formatage de la date avec des dates antérieures à 1970".

1
diggy