Ceci est une ancienne révision du document !


Gestion des dates en Powershell

La gestion des dates peut s'avérer crucial. On en a besoin pour dater un fichier, dater des logs, supprimer des anciens fichiers, etc… La commande de gestion de date sous Powershell est Get-Date.

Cette commande renvoie la date actuelle donnée par l'horloge interne de la machine et formatée pour être compréhensible par l'utilisateur.

Le formatage peut être modifié avec le paramètre -Format suivant d'un ou plusieurs arguments indiquant le type de formatage.

Ainsi avec :

Get-Date
vendredi 1 février 2019 14:05:09

On obtient :

Argument Explication Exemple
d Affiche le jour du mois sur un ou deux chiffres de 1 à 31
Get-Date -Format 'd'
1
dd Affiche le jour du mois sur deux chiffres de 01 à 31
Get-Date -Format 'dd'
01
ddd Affiche le jour de la semaine en abréviation
Get-Date -Format 'ddd'
ven.
dddd Affiche le jour de la semaine en complet
Get-Date -Format 'dddd'
vendredi 
M Affiche le mois sur un ou deux chiffres de 1 à 12
Get-Date -Format 'M'
2
MM Affiche le mois sur deux chiffres de 01 à 12
Get-Date -Format 'MM'
02
MMM Affiche le nom du mois en abréviation
Get-Date -Format 'MMM'
fév.
MMMM Affiche le nom du mois en complet
Get-Date -Format 'MMMM'
février 
yy Affiche l'année deux chiffres
Get-Date -Format 'yy'
19
yyyy Affiche l'année sur quatre chiffres
Get-Date -Format 'yyyy'
2019
h Affiche l'heure de 1 à 12
Get-Date -Format 'h'
2
hh Affiche l'heure de 01 à 12
Get-Date -Format 'hh'
02
H Affiche l'heure de 1 à 24
Get-Date -Format 'H'
2
HH Affiche l'heure de 01 à 24
Get-Date -Format 'HH'
02
m Affiche les minutes de 0 à 59
Get-Date -Format 'm'
5
mm Affiche les minutes de 00 à 59
Get-Date -Format 'mm'
05
s Affiche les secondes de 0 à 59
Get-Date -Format 's'
9
ss Affiche les secondes de 00 à 59
Get-Date -Format 'ss'
09
t Affiche l'heure et les minutes
Get-Date -Format 't'
14:05
z Affiche le fuseau horaire
Get-Date -Format 'z'
+1
zz Affiche le fuseau horaire sur deux chiffres
Get-Date -Format 'zz'
+01
zzz Affiche le fuseau horaire avec l'intégralité du décalage
Get-Date -Format 'zzz'
+01:00
D Affiche la journée complète
Get-Date -Format 'D'
vendredi 1 février 2019
G Affiche la journée complète au format numérique suivi de l'heure. Pratique pour les logs.
Get-Date -Format 'G'
01/02/2019 14:05:09

On peut aussi renvoyer un formatage UNIX grâce au paramètre -UFormat. Ainsi pour la date vendredi 1 février 2019 14:05:09, le retour de la commande Get-Date -UFormat $Args sera :

Argument Explication Retour
%c Date et heure en abréviation et américanisée
Get-Date -UFormat "%c"
ven. févr. 1 14:05:09 2019  
%D Date au format mm/dd/yy
Get-Date -UFormat "%D"
02/01/19    
%x Comme %D mais en utilisant les préférences culturelles
Get-Date -UFormat "%x"
01/02/19     
%C Affiche le siècle -1
Get-Date -UFormat "%C"
20     
%Y ou %G Affiche l'année complète
Get-Date -UFormat "%Y"
02019    
%y ou %g Affiche l'année sur deux chiffres
Get-Date -UFormat "%y"
19     
%b ou %h Affiche le mois en abréviation
Get-Date -UFormat "%b"
févr.     
%B Affiche le mois en lettres
Get-Date -UFormat "%B"
février       
%m Affiche le mois en chiffres
Get-Date -UFormat "%m"
02       
%W ou %U Affiche le numéro de la semaine de 0 à 52
Get-Date -UFormat "%W"
4       
%V Affiche le numéro de la semaine de 1 à 53
Get-Date -UFormat "%V"
5       
%a Affiche le jour de la semaine en abréviation
Get-Date -UFormat "%a"
ven.       
%A Affiche le jour de la semaine en lettres
Get-Date -UFormat "%A"
vendredi         
%u ou %w Affiche le numéro de jour dans la semaine. La semaine commence le lundi.
Get-Date -UFormat "%u"
5         
%d Affiche le numéro du jour dans le mois de 01 à 31
Get-Date -UFormat "%d"
01         
%e Affiche le numéro du jour dans le mois de 1 à 31. Les jours de 1 à 9 seront précédés d'un espace.
Get-Date -UFormat "%e"
 1         
%j Affiche le numéro du jour dans l'année de 1 à 366
Get-Date -UFormat "%j"
32         
%p Affiche la demi-journée (AM ou PM) si la préférence culturelle l'indique sinon n'affiche rien.
Get-Date -UFormat "%p"
PM         
%T Affiche l'heure complète sur 24h
Get-Date -UFormat "%T"
14:05:09         
%R Affiche l'heure sans les secondes sur 24h
Get-Date -UFormat "%R"
14:05         
%r Affiche l'heure complète sur 12h si la préférence culturelle l'utilise sinon équivalent à %T
Get-Date -UFormat "%r"
02:05:09 PM        
%Z Affiche le décalage horaire par rapport à l'UTC
Get-Date -UFormat "%Z"
+01        
%H ou %k Affiche l'heure uniquement sur 24h
Get-Date -UFormat "%H"
14        
%I ou %l Affiche l'heure uniquement sur 12h
Get-Date -UFormat "%I"
02        
%M Affiche les minutes
Get-Date -UFormat "%M"
05        
%S Affiche les secondes
Get-Date -UFormat "%T"
09       

Évidemment, les arguments de -Format ou de -UFormat peuvent être ajoutés les uns aux autres mais -Format et -UFormat ne doivent pas être mélangés. Par exemple :

Get-Date
vendredi 1 février 2019 14:05:09
 
Get-Date -Format 'hh:mm:ss dd/MM/yy'
14:05:09 01/02/19
 
Get-Date -UFormat "%d-%m-%Y %R"
01-02-19 14:05

Get-Date embarque un certains nombres de méthodes qui permettent d'extraire un partie de la date ou bien de la manipuler.

Ainsi avec :

Get-Date
vendredi 1 février 2019 14:05:09

On obtient :

Entrer votre commentaire. La syntaxe wiki est autorisée:
 
  • powershell_date.1551272867.txt.gz
  • Dernière modification : 2019/02/27 12:07
  • (modification externe)