filtres_dates.php
SPIP, Système de publication pour l'internet
Copyright © avec tendresse depuis 2001 Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
Ce programme est un logiciel libre distribué sous licence GNU/GPL.
Table of Contents
Functions
- normaliser_date() : string
- Normaliser une date vers le format datetime (Y-m-d H:i:s)
- vider_date() : string
- Enlève une date considérée comme vide
- recup_heure() : array<string|int, mixed>
- Retrouve à partir d'une chaîne les valeurs heures, minutes, secondes.
- heures() : string
- Retourne l'heure d'une date
- minutes() : string
- Retourne les minutes d'une date
- secondes() : string
- Retourne les secondes d'une date
- heures_minutes() : string
- Retourne l'horaire (avec minutes) d'une date, tel que `12h36min`
- recup_date() : array<string|int, mixed>
- Retrouve à partir d'une date les valeurs année, mois, jour, heures, minutes, secondes
- date_interface() : string
- Retourne une date relative si elle est récente, sinon une date complète
- date_relative() : string
- Retourne une date relative (passée ou à venir)
- date_relativecourt() : string
- Retourne une date relative courte (passée ou à venir)
- affdate_base() : string
- Formatage humain de la date `$numdate` selon le format `$vue`
- nom_jour() : string
- Affiche le nom du jour pour une date donnée
- jour() : string
- Affiche le numéro du jour (1er à 31) pour une date donnée
- journum() : string
- Affiche le numéro du jour (1 à 31) pour une date donnée
- mois() : string
- Affiche le numéro du mois (01 à 12) pour une date donnée
- nom_mois() : string
- Affiche le nom du mois pour une date donnée
- annee() : string
- Affiche l'année sur 4 chiffres d'une date donnée
- saison() : string
- Affiche le nom boréal ou austral de la saison
- saison_annee() : string
- Affiche le nom boréal ou austral de la saison suivi de l'année en cours
- affdate() : string
- Formate une date
- affdate_court() : string
- Formate une date, omet l'année si année courante, sinon omet le jour
- affdate_jourcourt() : string
- Formate une date, omet l'année si année courante
- affdate_mois_annee() : string
- Retourne le mois en toute lettre et l’année d'une date
- affdate_heure() : string
- Retourne la date suivie de l'heure
- affdate_debut_fin() : string
- Afficher de facon textuelle les dates de début et fin en fonction des cas
- date_ical() : string
- Adapte une date pour être insérée dans une valeur de date d'un export ICAL
- date_iso() : string
- Retourne une date formattée au format "RFC 3339" ou "ISO 8601"
- date_822() : string
- Retourne une date formattée au format "RFC 822"
- date_anneemoisjour() : string
- Pour une date commençant par `Y-m-d`, retourne `Ymd`
- date_anneemois() : string
- Pour une date commençant par `Y-m`, retourne `Ym`
- date_debut_semaine() : string
- Retourne le premier jour (lundi) de la même semaine au format `Ymd`
- date_fin_semaine() : string
- Retourne le dernier jour (dimanche) de la même semaine au format `Ymd`
Functions
normaliser_date()
Normaliser une date vers le format datetime (Y-m-d H:i:s)
normaliser_date(string $date[, bool $forcer_jour = false ]) : string
Parameters
- $date : string
-
La date à normaliser
- $forcer_jour : bool = false
-
true pour forcer à indiquer un jour et mois (01) s'il n'y en a pas.
Tags
Return values
string —- une date au format datetime
- une chaîne vide si la date est considérée nulle
vider_date()
Enlève une date considérée comme vide
vider_date(string $letexte[, bool $verif_format_date = false ]) : string
Parameters
- $letexte : string
- $verif_format_date : bool = false
Tags
Return values
string —- La date entrée (si elle n'est pas considérée comme nulle)
- Une chaine vide
recup_heure()
Retrouve à partir d'une chaîne les valeurs heures, minutes, secondes.
recup_heure(string $date) : array<string|int, mixed>
Les formats 11:29:55
ou 11:29
sont autorisés.
Parameters
- $date : string
-
Chaîne de date contenant éventuellement un horaire
Return values
array<string|int, mixed> —- [heures, minutes, secondes] si format horaire autorisé
- [0, 0, 0] sinon
heures()
Retourne l'heure d'une date
heures(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —heures, sinon 0
minutes()
Retourne les minutes d'une date
minutes(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —minutes, sinon 0
secondes()
Retourne les secondes d'une date
secondes(string $numdate) : string
Parameters
- $numdate : string
-
La date à extraire
Tags
Return values
string —secondes, sinon 0
heures_minutes()
Retourne l'horaire (avec minutes) d'une date, tel que `12h36min`
heures_minutes(string $numdate[, string $forme = '' ]) : string
Parameters
- $numdate : string
-
La date à extraire
- $forme : string = ''
-
.
- si vide, précise l'unité des minutes : 12h10min
- si 'abbr' ne précise pas l'unité des minutes : 12h10
Tags
Return values
string —L'heure formatée dans la langue en cours.
recup_date()
Retrouve à partir d'une date les valeurs année, mois, jour, heures, minutes, secondes
recup_date(string $numdate[, bool $forcer_jour = true ]) : array<string|int, mixed>
Annee, mois, jour sont retrouvés si la date contient par exemple :
- '03/11/2015', '3/11/15'
- '2015-11-04', '2015-11-4'
- '2015-11'
Dans ces cas, les heures, minutes, secondes sont retrouvés avec recup_heure()
Annee, mois, jour, heures, minutes, secondes sont retrouvés si la date contient par exemple :
- '20151104111420'
Parameters
- $numdate : string
-
La date à extraire
- $forcer_jour : bool = true
-
True pour tout le temps renseigner un jour ou un mois (le 1) s'il ne sont pas indiqués dans la date.
Tags
Return values
array<string|int, mixed> —[année, mois, jour, heures, minutes, secondes] ou []
date_interface()
Retourne une date relative si elle est récente, sinon une date complète
date_interface(string $date[, int $decalage_maxi = 43200 ]) : string
En fonction de la date transmise, peut retourner par exemple :
- «il y a 3 minutes»,
- «il y a 11 heures»,
- «10 mai 2015 à 10h23min»
Parameters
- $date : string
-
La date fournie
- $decalage_maxi : int = 43200
-
Durée écoulée, en secondes, à partir de laquelle on bascule sur une date complète. Par défaut +/- 12h.
Tags
Return values
string —La date relative ou complète
date_relative()
Retourne une date relative (passée ou à venir)
date_relative(string $date[, int $decalage_maxi = 0 ][, string $ref_date = null ]) : string
En fonction de la date transmise ainsi que de la date de référence (par défaut la date actuelle), peut retourner par exemple :
- «il y a 3 minutes»,
- «il y a 2 semmaines»,
- «dans 1 semaine»
Parameters
- $date : string
-
La date fournie
- $decalage_maxi : int = 0
-
Durée écoulée, en secondes, au delà de laquelle on ne retourne pas de date relative Indiquer
0
(par défaut) pour ignorer. - $ref_date : string = null
-
La date de référence pour le calcul relatif, par défaut la date actuelle
Tags
Return values
string —- La date relative
- "" si pas de date ou si elle dépasse le décalage maximum indiqué.
date_relativecourt()
Retourne une date relative courte (passée ou à venir)
date_relativecourt(string $date[, int $decalage_maxi = 0 ]) : string
Retourne «hier», «aujourd'hui» ou «demain» si la date correspond, sinon
utilise date_relative()
Parameters
- $date : string
-
La date fournie
- $decalage_maxi : int = 0
-
Durée écoulée, en secondes, au delà de laquelle on ne retourne pas de date relative Indiquer
0
(par défaut) pour ignorer.
Tags
Return values
string —- La date relative
- "" si pas de date ou si elle dépasse le décalage maximum indiqué.
affdate_base()
Formatage humain de la date `$numdate` selon le format `$vue`
affdate_base(string $numdate, string $vue[, array<string|int, mixed> $options = [] ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $vue : string
-
Type de format souhaité ou expression pour
strtotime()
tel queY-m-d h:i:s
- $options : array<string|int, mixed> = []
-
{param: string, annee_courante: int}
- param: 'abbr' ou 'initiale' permet d'afficher les jours au format court ou initiale
- annee_courante: Permet de definir l'annee de reference pour l'affichage des dates courtes
Return values
stringnom_jour()
Affiche le nom du jour pour une date donnée
nom_jour(string $numdate[, string $forme = '' ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $forme : string = ''
-
Forme spécifique de retour :
- initiale : l'initiale du jour
- abbr : abbréviation du jour
- '' : le nom complet (par défaut)
Tags
Return values
string —Nom du jour
jour()
Affiche le numéro du jour (1er à 31) pour une date donnée
jour(string $numdate) : string
Utilise une abbréviation (exemple "1er") pour certains jours, en fonction de la langue utilisée.
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —Numéro du jour
journum()
Affiche le numéro du jour (1 à 31) pour une date donnée
journum(string $numdate) : string
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —Numéro du jour
mois()
Affiche le numéro du mois (01 à 12) pour une date donnée
mois(string $numdate) : string
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —Numéro du mois (sur 2 chiffres)
nom_mois()
Affiche le nom du mois pour une date donnée
nom_mois(string $numdate[, string $forme = '' ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $forme : string = ''
-
Forme spécifique de retour :
- abbr : abbréviation du mois
- '' : le nom complet (par défaut)
Tags
Return values
string —Nom du mois
annee()
Affiche l'année sur 4 chiffres d'une date donnée
annee(string $numdate) : string
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —Année (sur 4 chiffres)
saison()
Affiche le nom boréal ou austral de la saison
saison(string $numdate[, string $hemisphere = 'nord' ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $hemisphere : string = 'nord'
-
Nom optionnel de l'hémisphère (sud ou nord) ; par défaut nord
Tags
Return values
string —La date formatée
saison_annee()
Affiche le nom boréal ou austral de la saison suivi de l'année en cours
saison_annee(string $numdate[, string $hemisphere = 'nord' ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $hemisphere : string = 'nord'
-
Nom optionnel de l'hémisphère (sud ou nord) ; par défaut nord
Tags
Return values
string —La date formatée
affdate()
Formate une date
affdate(string $numdate[, string $format = 'entier' ]) : string
Parameters
- $numdate : string
-
Une écriture de date
- $format : string = 'entier'
-
Type de format souhaité ou expression pour
strtotime()
tel queY-m-d h:i:s
Tags
Return values
string —La date formatée
affdate_court()
Formate une date, omet l'année si année courante, sinon omet le jour
affdate_court(string $numdate[, int|null $annee_courante = null ]) : string
Si l'année actuelle (ou indiquée dans $annee_courante
) est 2015,
retournera "21 juin" si la date en entrée est le 21 juin 2015,
mais retournera "juin 2013" si la date en entrée est le 21 juin 2013.
Parameters
- $numdate : string
-
Une écriture de date
- $annee_courante : int|null = null
-
L'année de comparaison, utilisera l'année en cours si omis.
Tags
Return values
string —La date formatée
affdate_jourcourt()
Formate une date, omet l'année si année courante
affdate_jourcourt(string $numdate[, int|null $annee_courante = null ]) : string
Si l'année actuelle (ou indiquée dans $annee_courante
) est 2015,
retournera "21 juin" si la date en entrée est le 21 juin 2015,
mais retournera "21 juin 2013" si la date en entrée est le 21 juin 2013.
Parameters
- $numdate : string
-
Une écriture de date
- $annee_courante : int|null = null
-
L'année de comparaison, utilisera l'année en cours si omis.
Tags
Return values
string —La date formatée
affdate_mois_annee()
Retourne le mois en toute lettre et l’année d'une date
affdate_mois_annee(string $numdate) : string
Ne retourne pas le jour donc.
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —La date formatée
affdate_heure()
Retourne la date suivie de l'heure
affdate_heure(string $numdate) : string
Parameters
- $numdate : string
-
Une écriture de date
Tags
Return values
string —La date formatée, sinon ''
affdate_debut_fin()
Afficher de facon textuelle les dates de début et fin en fonction des cas
affdate_debut_fin(string $date_debut, string $date_fin[, string $horaire = 'oui' ][, string $forme = '' ]) : string
- Lundi 20 fevrier a 18h
- Le 20 fevrier de 18h a 20h
- Du 20 au 23 fevrier
- Du 20 fevrier au 30 mars
- Du 20 fevrier 2007 au 30 mars 2008
$horaire='oui'
ou true
permet d'afficher l'horaire,
toute autre valeur n'indique que le jour
$forme
peut contenir une ou plusieurs valeurs parmi
abbr
(afficher le nom des jours en abrege)hcal
(generer une date au format hcal)jour
(forcer l'affichage des jours)annee
(forcer l'affichage de l'annee)
Parameters
- $date_debut : string
- $date_fin : string
- $horaire : string = 'oui'
- $forme : string = ''
-
abbr
pour afficher le nom du jour en abrege (Dim. au lieu de Dimanche)annee
pour forcer l'affichage de l'annee courantejour
pour forcer l'affichage du nom du jourhcal
pour avoir un markup microformat abbr
Return values
string —texte de la date
date_ical()
Adapte une date pour être insérée dans une valeur de date d'un export ICAL
date_ical(string $date[, int $addminutes = 0 ]) : string
Retourne une date au format Ymd\THis\Z
, tel que '20150428T163254Z'
Parameters
- $date : string
-
La date
- $addminutes : int = 0
-
Ajouter autant de minutes à la date
Tags
Return values
string —Date au format ical
date_iso()
Retourne une date formattée au format "RFC 3339" ou "ISO 8601"
date_iso(string $date_heure) : string
Parameters
- $date_heure : string
-
Une écriture de date
Tags
Return values
string —La date formatée
date_822()
Retourne une date formattée au format "RFC 822"
date_822(string $date_heure) : string
Utilisé pour <pubdate>
dans certains flux RSS
Parameters
- $date_heure : string
-
Une écriture de date
Tags
Return values
string —La date formatée
date_anneemoisjour()
Pour une date commençant par `Y-m-d`, retourne `Ymd`
date_anneemoisjour(string $d) : string
Parameters
- $d : string
-
Une écriture de date commençant par un format
Y-m-d
(comme date ou datetime SQL). Si vide, utilise la date actuelle.
Tags
Return values
string —Date au format Ymd
date_anneemois()
Pour une date commençant par `Y-m`, retourne `Ym`
date_anneemois(string $d) : string
Parameters
- $d : string
-
Une écriture de date commençant par un format
Y-m
(comme date ou datetime SQL). Si vide, utilise la date actuelle.
Tags
Return values
string —Date au format Ym
date_debut_semaine()
Retourne le premier jour (lundi) de la même semaine au format `Ymd`
date_debut_semaine(int $annee, int $mois, int $jour) : string
Parameters
- $annee : int
- $mois : int
- $jour : int
Tags
Return values
string —Date au lundi de la même semaine au format Ymd
date_fin_semaine()
Retourne le dernier jour (dimanche) de la même semaine au format `Ymd`
date_fin_semaine(int $annee, int $mois, int $jour) : string
Parameters
- $annee : int
- $mois : int
- $jour : int
Tags
Return values
string —Date au dimanche de la même semaine au format Ymd