Get-Date

Obtient la date et l’heure actuelles.

Syntaxe

DateAndFormat (Par défaut)

Get-Date
    [[-Date] <DateTime>]
    [-Year <Int32>]
    [-Month <Int32>]
    [-Day <Int32>]
    [-Hour <Int32>]
    [-Minute <Int32>]
    [-Second <Int32>]
    [-Millisecond <Int32>]
    [-DisplayHint <DisplayHintType>]
    [-Format <String>]
    [-AsUTC]
    [<CommonParameters>]

DateAndUFormat

Get-Date
    [[-Date] <DateTime>]
    -UFormat <String>
    [-Year <Int32>]
    [-Month <Int32>]
    [-Day <Int32>]
    [-Hour <Int32>]
    [-Minute <Int32>]
    [-Second <Int32>]
    [-Millisecond <Int32>]
    [-DisplayHint <DisplayHintType>]
    [<CommonParameters>]

UnixTimeSecondsAndFormat

Get-Date
    -UnixTimeSeconds <Int64>
    [-Year <Int32>]
    [-Month <Int32>]
    [-Day <Int32>]
    [-Hour <Int32>]
    [-Minute <Int32>]
    [-Second <Int32>]
    [-Millisecond <Int32>]
    [-DisplayHint <DisplayHintType>]
    [-Format <String>]
    [-AsUTC]
    [<CommonParameters>]

UnixTimeSecondsAndUFormat

Get-Date
    -UnixTimeSeconds <Int64>
    -UFormat <String>
    [-Year <Int32>]
    [-Month <Int32>]
    [-Day <Int32>]
    [-Hour <Int32>]
    [-Minute <Int32>]
    [-Second <Int32>]
    [-Millisecond <Int32>]
    [-DisplayHint <DisplayHintType>]
    [<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 Definition
dddd Jour de la semaine - nom complet
MM Numéro de 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 Chaînes de format de date et d’heure.

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 Definition
%A Jour de la semaine - nom complet
%m Numéro de 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é dans le pipeline à 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 : Convertir un horodatage Unix

Cet exemple convertit une heure Unix (représentée par le nombre de secondes depuis le 01-01-1970 0:00:00) en DateTime.

Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM

Exemple 10 : retourner une valeur de date interprétée comme UTC

Cet exemple montre comment interpréter une valeur de date comme son équivalent UTC. Pour l’exemple, cette machine est définie sur Pacific Standard Time. Par défaut, Get-Date retourne des valeurs pour ce fuseau horaire. Utilisez le paramètre AsUTC pour convertir la valeur en heure équivalente UTC.

PS> Get-TimeZone

Id                         : Pacific Standard Time
DisplayName                : (UTC-08:00) Pacific Time (US & Canada)
StandardName               : Pacific Standard Time
DaylightName               : Pacific Daylight Time
BaseUtcOffset              : -08:00:00
SupportsDaylightSavingTime : True

PS> (Get-Date -Date "2020-01-01T00:00:00").Kind
Unspecified

PS> Get-Date -Date "2020-01-01T00:00:00"

Wednesday, January 1, 2020 12:00:00 AM

PS> (Get-Date -Date "2020-01-01T00:00:00" -AsUTC).Kind
Utc

PS> Get-Date -Date "2020-01-01T00:00:00" -AsUTC

Wednesday, January 1, 2020 8:00:00 AM

Exemple 11 : 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

-AsUTC

Convertit la valeur de date en heure équivalente au format UTC.

Ce paramètre a été introduit dans PowerShell 7.1.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-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

Propriétés du paramètre

Type:DateTime
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:LastWriteTime

Jeux de paramètres

DateAndFormat
Position:0
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False
DateAndUFormat
Position:0
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Day

Spécifie le jour du mois affiché. 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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DisplayHint

Détermine quels éléments de la date et de l’heure sont affichés.

Les valeurs acceptées sont les suivantes :

  • Date : affiche uniquement la date
  • Heure : affiche uniquement l’heure
  • DateTime : affiche la date et l’heure

Propriétés du paramètre

Type:DisplayHintType
Valeur par défaut:None
Valeurs acceptées:Date, Time, DateTime
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 Chaînes de format de date et d’heure.

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 lettre Z 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 lettre T 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 lettre T 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 lettre Z comme indicateur UTC). Par exemple : 20190627T1540500718Z.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DateAndFormat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
UnixTimeSecondsAndFormat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Hour

Spécifie l’heure affichée. Entrez une valeur comprise entre 0 et 23.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Millisecond

Spécifie les millisecondes dans la date. Entrez une valeur comprise entre 0 et 999.

Ce paramètre a été introduit dans PowerShell 3.0.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Minute

Spécifie la minute affichée. Entrez une valeur comprise entre 0 et 59.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Month

Spécifie le mois affiché. Entrez une valeur comprise entre 1 et 12.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Second

Spécifie la seconde qui s’affiche. Entrez une valeur comprise entre 0 et 59.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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, %det %Y. La section Notes contient une table de spécificateurs UFormat valides.

Lorsque le paramètre UFormat 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.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DateAndUFormat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
UnixTimeSecondsAndUFormat
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-UnixTimeSeconds

Date et heure représentées en secondes depuis le 1er janvier 1970, 0:00:00.

Ce paramètre a été introduit dans PowerShell 7.1.

Propriétés du paramètre

Type:Int64
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:UnixTime

Jeux de paramètres

UnixTimeSecondsAndFormat
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
UnixTimeSecondsAndUFormat
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Year

Spécifie l’année affichée. Entrez une valeur comprise entre 1 et 9999.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

DateTime

Vous pouvez diriger un objet DateTime vers cette applet de commande.

Sorties

DateTime

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 DateTimeen 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 11.

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.

String

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 a été ajouté dans PowerShell 6.2. Il 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 Meaning Example
%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
%F Date au format AAAA -mm-dd, égale à %Y-%m-%d (format de date ISO 8601) 2019-06-27
%G Année de la date de la semaine ISO (année contenant le jeudi de la semaine)
%g Identique à « G » - 2 chiffres
%H Heure au format 24 heures 17
%h Identique à 'b'
%I Heure au format 12 heures 05
%j Jour de l’année 1-366
%k Identique à « H »
%l Identique à « I » (majuscule I) 05
%M Procès-verbaux 35
%m Numéro de mois 06
%n caractère newline
%p AM ou PM
%R Durée au format 24 heures -no 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 (UTC) 1150451174
%t Caractère d’onglet horizontal
%T Heure au format 24 heures 17:45:52
%U Identique à « W »
%u Jour numérique de la semaine (1-7) (modifié dans PowerShell 7.2) Lundi = 1, Dimanche = 7
%V Semaine de l’année 01-53
%w Jour numérique de la semaine (0-6) Dimanche = 0, Samedi = 6
%W Semaine de l’année 1-53
%X Identique à « T »
%x Date au format standard pour les paramètres régionaux 27/06/19 pour English-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

Note

Tous les spécificateurs UFormat ne produisent pas les mêmes résultats que leurs équivalents Unix. Par exemple:

  • Dans les systèmes Unix, %W retourne le numéro de semaine de l’année sous la forme d’un nombre décimal compris entre 00 et 53, en commençant par le premier lundi comme premier jour de la semaine 01. Tous les jours avant le premier lundi de l’année sont en semaine 00.
  • Dans PowerShell, %W retourne le numéro de semaine de l’année sous forme de nombre décimal, compris entre 1 et 53, sans zéro non significatif et aucune semaine zéro. La première semaine commence le premier jour de l’année.