J'utilise Jekyll pour générer un site simple.
Je souhaite que le champ de date s'affiche au format 12 September 2011
.
J'ai trouvé, grâce à une recherche créative sur Google, un peu de manipulation du format de date, mais rien qui semble me donner le nom du mois. Ce que j'ai c'est {{ page.date| date: "%m-%d-%Y" }}
, ce qui me donne la sortie 09-12-2011
, mais ce n'est pas tout à fait ce que je recherche.
Existe-t-il un moyen d'obtenir le mois comme nom à Jekyll?
Ou, sauf cela, existe-t-il une documentation pour l'attribut date?
Ce filtre de sortie:
{{ page.date | date: "%-d %B %Y" }}
produit des dates formatées comme:
9 September 2013
Assurez-vous de ne pas manquer le moins (-
) en face de %-d
pour la journée. Sans cela, les nombres inférieurs à dix auraient des zéros en tête (par exemple 09 September 2013
).
Les détails sur les jetons de formatage de date individuels peuvent être trouvés sur la page de documentation Liquid "Output tags and filters" .
J'ai mis en place un grand ensemble d'exemples de formatage de date Jekyll . Il fournit des exemples pour plusieurs formats et devrait fournir suffisamment de détails pour formater comme vous le souhaitez. Quelques exemples:
Prendre plaisir!
Jekyll ajoute des extensions de filtre au liquide. Voir ici . Vous pouvez afficher le format de date souhaité en exécutant simplement le date_to_long_string
filtre.
Depuis le lien:
Formater une date au format long, par ex. "27 janvier 2011".
{{ site.time | date_to_long_string }}
=> 17 November 2008
Essayez '% B' qui signifie "Le nom complet du mois (` `janvier '')"
recherchez la documentation pour strftime, la fonction qui est généralement utilisée pour convertir une date en chaîne.
Jekyll 3.8 prend en charge les dates ordinales hors de la boîte. Pour afficher le mois, utilisez l'un d'eux.
{{ page.date | date_to_long_string: "ordinal", "US" }}
affichera April 24th, 2018
.
{{ page.date | date_to_string: "ordinal", "US" }}
affichera Apr 24th, 2018
.
{{ page.date | date_to_long_string: "ordinal" }}
affichera 24th April 2018
.
{{ page.date | date_to_string: "ordinal" }}
affichera 24th Apr 2018
.
Juste au cas où vous voudriez une solution personnalisée, vous pourriez écrire un plugin Jekyll pour formater une date comme vous le souhaitez, comme ceci (cet exemple est pour les dates italiennes):
module Jekyll
module ItalianDates
MONTHS = {"01" => "gennaio", "02" => "febbraio", "03" => "marzo",
"04" => "aprile", "05" => "maggio", "06" => "giugno",
"07" => "luglio", "08" => "agosto", "09" => "settembre",
"10" => "ottobre", "11" => "novembre", "12" => "dicembre"}
# http://man7.org/linux/man-pages/man3/strftime.3.html
def italianDate(date)
day = time(date).strftime("%e") # leading zero is replaced by a space
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
day+' '+MONTHS[month]+' '+year
end
def html5date(date)
day = time(date).strftime("%d")
month = time(date).strftime("%m")
year = time(date).strftime("%Y")
year+'-'+month+'-'+day
end
end
end
Liquid::Template.register_filter(Jekyll::ItalianDates)
Enregistrez simplement ceci dans un fichier comme _plugins/italian_dates.rb
et utilisez-le selon vos besoins dans les modèles:
<time datetime="{{page.date | html5date}}">{{page.date | italianDate}}</time>
Utilisation {{ page.date| date: "%d %B %Y" }}
pour des dates comme 12 septembre 2011 , reportez-vous au guide de mise en forme rapide et agréable sur formatage de date Jekyll