Documentation du code de SPIP et de ses plugins

SPIP

filtres_dates.php

Déclaration de filtres de dates pour les squelettes

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
note

Si elle vient du contexte (public/parametrer.php), on force le jour

filtre
link
https://www.spip.net/5518
uses
vider_date()
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
used-by
normaliser_date()
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_minutes()

Retourne l'horaire (avec minutes) d'une date, tel que `12h36min`

heures_minutes(string $numdate[, mixed $forme = '' ]) : string
Parameters
$numdate : string

La date à extraire

$forme : mixed = ''
Tags
note

Le format de retour varie selon la langue utilisée.

filtre
link
https://www.spip.net/5519
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
uses
recup_heure()
used-by
affdate_heure()
used-by
date_ical()
used-by
date_iso()
used-by
date_822()
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
example

[(#DATE|date_interface)]

filtre
link
https://www.spip.net/5520
uses
date_relative()
uses
affdate_heure()

utilisé si le décalage est trop grand

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
example
  • [(#DATE|date_relative)]
  • [(#DATE|date_relative{43200})]
  • [(#DATE|date_relative{0, #AUTRE_DATE})] Calcul relatif à une date spécifique
filtre
link
https://www.spip.net/4277
used-by
date_interface()
used-by
date_relativecourt()
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
example

[(#DATE|date_relativecourt)]

filtre
uses
date_relative()
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 que Y-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
string

nom_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
example
  • [(#DATE|nom_jour)] lundi
  • [(#DATE|nom_jour{abbr})] lun.
  • [(#DATE|nom_jour{initiale})] l.
filtre
link
https://www.spip.net/4305
uses
affdate_base()
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
example

[(#DATE|jour)]

filtre
link
https://www.spip.net/4295
uses
affdate_base()
see
journum()
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
example

[(#DATE|journum)]

filtre
uses
affdate_base()
see
jour()
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
example

[(#DATE|mois)]

filtre
link
https://www.spip.net/4303
uses
affdate_base()
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
example
  • [(#DATE|nom_mois)] novembre
  • [(#DATE|nom_mois{abbr})] nov.
filtre
link
https://www.spip.net/4306
uses
affdate_base()
Return values
string

Nom du mois

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
filtre
link
https://www.spip.net/4311
uses
affdate_base()
example

En PHP

saison("2008-10-11 14:08:45") affiche "automne"
saison("2008-10-11 14:08:45", "sud") affiche "printemps"

En squelettes

[(#DATE|saison)]
[(#DATE|saison{sud})]
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
filtre
uses
affdate_base()
example

En PHP

saison_annee("2008-10-11 14:08:45") affiche "automne 2008"
saison_annee("2008-10-11 14:08:45", "sud") affiche "printemps 2008"

En squelettes

[(#DATE|saison_annee)]
[(#DATE|saison_annee{sud})]
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 que Y-m-d h:i:s

Tags
example

En PHPaffdate("2008-10-11 14:08:45") affiche "11 octobre 2008"

example

En squelettes

  • [(#DATE|affdate)]
  • [(#DATE|affdate{Y-m-d})]
filtre
link
https://www.spip.net/4129
uses
affdate_base()
see
affdate_court()
see
affdate_jourcourt()
used-by
affdate_heure()
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
example

[(#DATE|affdate_court)]

filtre
link
https://www.spip.net/4130
uses
affdate_base()
see
affdate()
see
affdate_jourcourt()
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
example

[(#DATE|affdate_jourcourt)]

filtre
link
https://www.spip.net/4131
uses
affdate_base()
see
affdate()
see
affdate_court()
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
filtre
link
https://www.spip.net/4132
uses
affdate_base()
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
example

[(#DATE|affdate_heure)] peut donner "11 novembre 2015 à 11h10min"

filtre
uses
recup_date()
uses
affdate()
used-by
date_interface()

utilisé si le décalage est trop grand

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 courante
  • jour pour forcer l'affichage du nom du jour
  • hcal 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
example

DTSTAMP:[(#DATE|date_ical)]

filtre
uses
recup_heure()
uses
recup_date()
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
example

[(#DATE|date_iso)] peut donner "2015-11-11T10:13:45Z"

filtre
link
https://www.spip.net/5641
link
https://fr.wikipedia.org/wiki/ISO_8601
link
http://www.ietf.org/rfc/rfc3339.txt
link
http://php.net/manual/fr/class.datetime.php
uses
recup_date()
uses
recup_heure()
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
example

date_anneemoisjour('2015-10-11 11:27:03') retourne 20151011

see
date_anneemois()
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
example

date_anneemoisjour('2015-10-11 11:27:03') retourne 201510

see
date_anneemoisjour()
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
example

date_debut_semaine(2015, 11, 11) retourne 20151109

see
date_fin_semaine()
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
example

date_debut_semaine(2015, 11, 11) retourne 20151115

see
date_fin_semaine()
Return values
string

Date au dimanche de la même semaine au format Ymd


        
On this page

Search results