Get-Date
Obtient les date et heure actuelles.
Syntaxe
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[<CommonParameters>]
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-UFormat <String>]
[<CommonParameters>]
Description
L’applet Get-Date
de commande obtient un objet DateTime qui représente la date actuelle ou une date que vous spécifiez. Get-Date
peut mettre en forme la date et l’heure dans plusieurs formats .NET et UNIX. Vous pouvez utiliser Get-Date
pour générer une chaîne de caractères de date ou d’heure, puis envoyer la chaîne à d’autres applets de commande ou programmes.
Get-Date
utilise les paramètres de culture actuels du système d’exploitation pour déterminer la façon dont la sortie est mise en forme. Pour afficher les paramètres de votre ordinateur, utilisez (Get-Culture).DateTimeFormat
.
Exemples
Exemple 1 : Obtenir la date et l’heure actuelles
Dans cet exemple, Get-Date
affiche la date et l’heure système actuelles. La sortie se trouve dans les formats de longue date et de longue durée.
Get-Date
Tuesday, June 25, 2019 14:53:32
Exemple 2 : Obtenir des éléments de la date et de l’heure actuelles
Cet exemple montre comment utiliser Get-Date
pour obtenir l’élément date ou heure. Le paramètre utilise les arguments Date, Heure ou DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date
utilise le paramètre DisplayHint avec l’argument Date pour obtenir uniquement la date.
Exemple 3 : Obtenir la date et l’heure avec un spécificateur de format .NET
Dans cet exemple, un spécificateur de format .NET est utilisé pour personnaliser le format de la sortie. La sortie est un objet String .
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date
utilise le paramètre Format pour spécifier plusieurs spécificateurs de format.
Les spécificateurs de format .NET utilisés dans cet exemple sont définis comme suit :
Spécificateur | Définition |
---|---|
dddd |
Jour de la semaine - nom complet |
MM |
Numéro du mois |
dd |
Jour du mois - 2 chiffres |
yyyy |
Année au format à 4 chiffres |
HH:mm |
Heure au format de 24 heures - aucune seconde |
K |
Décalage de fuseau horaire par rapport aux coordonnées de temps universel (UTC) |
Pour plus d’informations sur les spécificateurs de format .NET, consultez les chaînes de format de date et d’heure personnalisées.
Exemple 4 : Obtenir la date et l’heure avec un spécificateur UFormat
Dans cet exemple, plusieurs spécificateurs de format UFormat sont utilisés pour personnaliser le format de la sortie. La sortie est un objet String .
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date
utilise le paramètre UFormat pour spécifier plusieurs spécificateurs de format.
Les spécificateurs de format UFormat utilisés dans cet exemple sont définis comme suit :
Spécificateur | Définition |
---|---|
%A |
Jour de la semaine - nom complet |
%m |
Numéro du mois |
%d |
Jour du mois - 2 chiffres |
%Y |
Année au format à 4 chiffres |
%R |
Heure au format de 24 heures - aucune seconde |
%Z |
Décalage de fuseau horaire par rapport aux coordonnées de temps universel (UTC) |
Pour obtenir la liste des spécificateurs de format UFormat valides, consultez la section Notes.
Exemple 5 : Obtenir le jour d’une date de l’année
Dans cet exemple, une propriété est utilisée pour obtenir le jour numérique de l’année.
Le calendrier grégorien a 365 jours, à l’exception des années bissextiles qui ont 366 jours. Par exemple, le 31 décembre 2020 est le jour 366.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
utilise trois paramètres pour spécifier la date : Année, Mois et Jour. La commande est encapsulée entre parenthèses afin que le résultat soit évalué par la propriété DayofYear .
Exemple 6 : Vérifier si une date est ajustée pour l’heure d’été
Cet exemple utilise une méthode booléenne pour vérifier si une date est ajustée par heure d’été.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
Variable, $DST
stocke le résultat de Get-Date
. $DST
utilise la méthode IsDaylightSavingTime pour tester si la date est ajustée pour l’heure d’été.
Exemple 7 : Convertir l’heure actuelle en heure UTC
Dans cet exemple, l’heure actuelle est convertie en heure UTC. Le décalage UTC pour les paramètres régionaux du système est utilisé pour convertir l’heure. Un tableau de la section Notes répertorie les spécificateurs de format UFormat valides.
Get-Date -UFormat "%A %B/%d/%Y %T %Z"
$Time = Get-Date
$Time.ToUniversalTime()
Wednesday June/26/2019 10:45:26 -07
Wednesday, June 26, 2019 17:45:26
Get-Date
utilise le paramètre UFormat avec des spécificateurs de format pour afficher la date et l’heure système actuelles. Le spécificateur de format %Z représente le décalage UTC de -07.
La $Time
variable stocke la date et l’heure système actuelles. $Time
utilise la méthode pour convertir l’heure ToUniversalTime()
en fonction du décalage UTC de l’ordinateur.
Exemple 8 : Créer un horodatage
Dans cet exemple, un spécificateur de format crée un objet String timestamp pour un nom de répertoire. L’horodatage inclut la date, l’heure et le décalage UTC.
$timestamp = Get-Date -Format o | ForEach-Object { $_ -replace ":", "." }
New-Item -Path C:\Test\$timestamp -Type Directory
Directory: C:\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 6/27/2019 07:59 2019-06-27T07.59.24.4603750-07.00
La $timestamp
variable stocke les résultats d’une Get-Date
commande. Get-Date
utilise le paramètre Format avec le spécificateur de format de minuscules o
pour créer un objet String d’horodatage. L’objet est envoyé vers le bas du pipeline vers ForEach-Object
. Un ScriptBlock contient la $_
variable qui représente l’objet de pipeline actuel. La chaîne d’horodatage est délimitée par des points-virgules remplacés par des points.
New-Item
utilise le paramètre Path pour spécifier l’emplacement d’un nouveau répertoire. Le chemin d’accès inclut la $timestamp
variable comme nom de répertoire. Le paramètre Type spécifie qu’un répertoire est créé.
Exemple 9 : Afficher la culture invariante
Convertit ToString()
un objet DateTime sous forme de chaîne à l’aide du paramètre de culture actuel.
Toutefois, l’interprétation de l’expression PowerShell utilise toujours le paramètre de culture invariant.
Par exemple, sur un système avec la en-US
culture en vigueur, la ToString()
méthode met en forme la date à l’aide des en-US
paramètres de culture.
# Get date using current culture en-US
(Get-Date 2024-03-19).ToString()
3/19/2024 12:00:00 AM
# Get date using invariant culture
"$(Get-Date 2024-03-19)"
03/19/2024 00:00:00
Paramètres
-Date
Spécifie une date et une heure. L’heure est facultative et, si elle n’est pas spécifiée, retourne 00:00:00. Entrez la date et l’heure dans un format standard pour les paramètres régionaux actuellement sélectionnés. Vous pouvez modifier les paramètres régionaux actuels à l’aide de l’applet de Set-Culture
commande.
Par exemple, en anglais américain :
Get-Date -Date "6/25/2019 12:30:22"
retourne mardi 25 juin 2019 12:30:22
Type: | DateTime |
Alias: | LastWriteTime |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Day
Spécifie le jour du mois qui s'affiche. Entrez une valeur comprise entre 1 et 31.
Si la valeur spécifiée est supérieure au nombre de jours d’un mois, PowerShell ajoute le nombre de jours au mois. Par exemple, Get-Date -Month 4 -Day 31
affiche le 1er mai et non le 31 avril.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DisplayHint
Détermine les éléments de date et d'heure à afficher.
Les valeurs acceptées sont les suivantes :
- Date : affiche uniquement la date
- Heure : affiche uniquement l’heure
- DateTime : affiche la date et l’heure
Type: | DisplayHintType |
Valeurs acceptées: | Date, Time, DateTime |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Format
Affiche la date et l'heure dans le format Microsoft .NET Framework indiqué par le spécificateur de format. Le paramètre Format génère un objet String .
Pour obtenir la liste des spécificateurs de format .NET disponibles, consultez les chaînes de format de date et d’heure personnalisées.
Lorsque le paramètre Format est utilisé, Get-Date
obtient uniquement les propriétés de l’objet DateTime nécessaires pour afficher la date. Par conséquent, certaines des propriétés et méthodes des objets DateTime peuvent ne pas être disponibles.
À compter de PowerShell 5.0, vous pouvez utiliser les formats supplémentaires suivants comme valeurs pour le paramètre Format .
FileDate. Représentation conviviale du fichier ou du chemin d’accès de la date actuelle dans l’heure locale. Le format est
yyyyMMdd
(respectant la casse, à l’aide d’une année à 4 chiffres, d’un mois à 2 chiffres et d’un jour à 2 chiffres). Par exemple : 20190627.FileDateUniversal. Représentation conviviale d’un fichier ou d’un chemin d’accès de la date actuelle en heure universelle (UTC). Le format est
yyyyMMddZ
(respectant la casse, à l’aide d’une année à 4 chiffres, d’un mois à 2 chiffres, d’un jour à 2 chiffres et de la lettreZ
comme indicateur UTC). Par exemple : 20190627Z.FileDateTime. Représentation conviviale du fichier ou du chemin d’accès de la date et de l’heure actuelles dans l’heure locale, au format 24 heures. Le format est
yyyyMMddTHHmmssffff
(respectant la casse, à l’aide d’une année à 4 chiffres, d’un mois à 2 chiffres, d’un jour à 2 chiffres, de la lettreT
en tant que séparateur de temps, d’une heure à 2 chiffres, d’une minute à 2 chiffres, d’une seconde à 2 chiffres et d’une milliseconde à 4 chiffres). Par exemple : 20190627T0840107271.FileDateTimeUniversal. Représentation conviviale du fichier ou du chemin d’accès de la date et de l’heure actuelles en heure universelle (UTC), au format 24 heures. Le format est
yyyyMMddTHHmmssffffZ
(respectant la casse, à l’aide d’une année à 4 chiffres, d’un mois à 2 chiffres, d’un jour à 2 chiffres, d’une lettreT
en tant que séparateur de temps, d’une heure à 2 chiffres, d’une minute à 2 chiffres, d’une seconde à 2 chiffres, d’une milliseconde à 4 chiffres et de la lettreZ
comme indicateur UTC). Par exemple : 20190627T1540500718Z.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Hour
Spécifie l'heure qui s'affiche. Entrez une valeur comprise entre 0 et 23.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Millisecond
Spécifie le nombre de millisecondes dans la date. Entrez une valeur comprise entre 0 et 999.
Ce paramètre a été introduit dans PowerShell 3.0.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Minute
Spécifie le nombre de minutes qui s'affiche. Entrez une valeur comprise entre 0 et 59.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Month
Spécifie le mois qui s'affiche. Entrez une valeur comprise entre 1 et 12.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Second
Spécifie le nombre de secondes qui s'affiche. Entrez une valeur comprise entre 0 et 59.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-UFormat
Affiche la date et l'heure au format UNIX. Le paramètre UFormat génère un objet de chaîne.
Les spécificateurs UFormat sont précédés d’un signe de pourcentage (%
, par exemple, %m
, %d
et %Y
. La section Notes contient une table de spécificateurs UFormat valides.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Year
Spécifie l'année qui s'affiche. Entrez une valeur comprise entre 1 et 9999.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
Vous pouvez diriger un objet DateTime vers cette applet de commande.
Sorties
Par défaut, cette applet de commande retourne un objet DateTime .
Lorsqu’un objet DateTime est envoyé au pipeline vers une applet de commande telle que Add-Content
celle qui attend une entrée de chaîne, PowerShell convertit l’objet en objet String .
Convertit ToString()
un objet DateTime en chaîne à l’aide du paramètre de culture actuel.
Toutefois, l’interprétation de l’expression PowerShell utilise toujours le paramètre de culture invariant. Pour voir comment la culture invariante est différente, consultez l’exemple 9.
Pour afficher les propriétés et méthodes d’un objet, envoyez l’objet vers le bas vers le pipeline Get-Member
.
Par exemple : Get-Date | Get-Member
.
Lorsque vous utilisez les paramètres Format ou UFormat , cette applet de commande retourne des objets String .
Notes
Les formats par défaut pour la sortie des objets DateTime sont des formats de date et d’heure longue pour les paramètres régionaux actuellement sélectionnés.
Les spécificateurs UFormat valides sont affichés dans le tableau suivant :
Important
Les spécificateurs UFormat sont modifiés ou ajoutés dans les versions plus récentes de PowerShell. Par exemple, %F
elle a été ajoutée dans PowerShell 6.2. Elle n’est donc pas disponible dans Windows PowerShell 5.1 ou version antérieure. Gardez à l’esprit que lorsque vous utilisez des spécificateurs UFormat dans des scripts conçus pour être exécutés sur plusieurs versions de PowerShell.
Spécificateur de format | Signification | Exemple |
---|---|---|
%A |
Jour de la semaine - nom complet | Lundi |
%a |
Jour de la semaine - nom abrégé | Lun |
%B |
Nom du mois - complet | Janvier |
%b |
Nom du mois - abrégé | Jan |
%C |
Siècle | 20 pour 2019 |
%c |
Date et heure - abrégées | Thu 27 08:44:18 2019 |
%D |
Date au format mm/jj/aaaa | 06/27/19 |
%d |
Jour du mois - 2 chiffres | 05 |
%e |
Jour du mois - précédé d’un espace si seul chiffre | <espace>5 |
%G |
Identique à 'Y' | |
%g |
Identique à 'y' | |
%H |
Heure au format 24 heures | 17 |
%h |
Identique à 'b' | |
%I |
Heure au format 12 heures | 05 |
%j |
Jour de l’année (n’inclut pas de début 0 - Fixe dans PowerShell 6+) |
1-366 |
%k |
Identique à « H » | |
%l |
Identique à « I » (majuscule I) | 05 |
%M |
Minutes | 35 |
%m |
Numéro du mois | 06 |
%n |
caractère newline | |
%p |
AM ou PM | |
%R |
Heure au format de 24 heures -pas de secondes | 17:45 |
%r |
Heure au format 12 heures | 09:15:36 AM |
%S |
Secondes | 05 |
%s |
Secondes écoulées depuis le 1er janvier 1970 00:00:00 (convertie en heure locale) | 1150451174.95705 |
%t |
Caractère d’onglet horizontal | |
%T |
Heure au format 24 heures | 17:45:52 |
%U |
Identique à « W » | |
%u |
Jour de la semaine - nombre | Dimanche = 0 |
%V |
Semaine de l’année | 01-53 |
%w |
Identique à 'u' | |
%W |
Semaine de l’année | 00-52 |
%X |
Identique à « T » | |
%x |
Date au format standard pour les paramètres régionaux | 27/06/19 pour anglais-US |
%Y |
Année au format à 4 chiffres | 2019 |
%y |
Année au format à 2 chiffres | 19 |
%Z |
Décalage de fuseau horaire par rapport aux coordonnées de temps universel (UTC) | -07 |
Remarque
Le comportement de Windows PowerShell avec Get-Date -UFormat %s
est incorrect à deux égards :
- La valeur de retour est basée sur l’heure locale au lieu de l’heure UTC.
- La représentation sous forme de chaîne de la valeur de secondes comporte une partie fractionnaire. La sortie respecte la culture par rapport à la virgule décimale.
Ces comportements ont été corrigés dans PowerShell 6 et versions ultérieures.