Get-Date
Получает текущую дату и время.
Синтаксис
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
-UFormat <String>
[<CommonParameters>]
Get-Date
-UnixTimeSeconds <Int64>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[-AsUTC]
[<CommonParameters>]
Get-Date
-UnixTimeSeconds <Int64>
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
-UFormat <String>
[<CommonParameters>]
Описание
Командлет Get-Date
получает объект DateTime , представляющий текущую дату или указанную дату. Get-Date
может форматировать дату и время в нескольких форматах .NET и UNIX. С помощью Get-Date
можно создать строку символов даты или времени, а затем отправить ее в другие командлеты или программы.
Get-Date
использует параметры языка и региональных параметров компьютера, чтобы определить, как форматируются выходные данные. Чтобы просмотреть параметры компьютера, используйте .(Get-Culture).DateTimeFormat
Примеры
Пример 1. Получение текущих даты и времени
В этом примере отображается текущая Get-Date
системная дата и время. Выходные данные будут в формате long-date и long-time.
Get-Date
Tuesday, June 25, 2019 14:53:32
Пример 2. Получение элементов текущей даты и времени
В этом примере показано, как использовать Get-Date
для получения элемента даты или времени. Параметр использует аргументы Date, Time или DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date
использует параметр DisplayHint с аргументом Date , чтобы получить только дату.
Пример 3. Получение даты и времени с помощью описателя формата .NET
В этом примере описатель формата .NET используется для настройки формата выходных данных. Выходные данные — это объект String .
Get-Date -Format "dddd MM/dd/yyyy HH:mm K"
Tuesday 06/25/2019 16:17 -07:00
Get-Date
использует параметр Format для указания нескольких описателей формата.
Описатели формата .NET, используемые в этом примере, определяются следующим образом:
Описатель | Определение |
---|---|
dddd |
День недели — полное название |
MM |
Номер месяца. |
dd |
День месяца — 2 цифры |
yyyy |
Год в 4-значном формате |
HH:mm |
Время в 24-часовом формате — без секунд |
K |
Смещение часового пояса от универсальной координаты времени (UTC) |
Дополнительные сведения об описателях формата .NET см. в статье Пользовательские строки формата даты и времени.
Пример 4. Получение даты и времени с помощью описателя UFormat
В этом примере для настройки формата выходных данных используются несколько описателей формата UFormat . Выходные данные — это объект String .
Get-Date -UFormat "%A %m/%d/%Y %R %Z"
Tuesday 06/25/2019 16:19 -07
Get-Date
использует параметр UFormat для указания нескольких описателей формата.
Описатели формата UFormat , используемые в этом примере, определяются следующим образом:
Описатель | Определение |
---|---|
%A |
День недели — полное название |
%m |
Номер месяца. |
%d |
День месяца — 2 цифры |
%Y |
Год в 4-значном формате |
%R |
Время в 24-часовом формате — без секунд |
%Z |
Смещение часового пояса от универсальной координаты времени (UTC) |
Список допустимых описателей формата UFormat см. в разделе Заметки .
Пример 5. Получение дня даты года
В этом примере свойство используется для получения числового дня года.
Григорианский календарь имеет 365 дней, за исключением високосных лет, которые имеют 366 дней. Например, 31 декабря 2020 г. — это 366-й день.
(Get-Date -Year 2020 -Month 12 -Day 31).DayOfYear
366
Get-Date
использует три параметра для указания даты: Год, Месяц и День. Команда заключена в круглые скобки, чтобы результат вычислялся с помощью свойства DayofYear .
Пример 6. Проверка корректировки даты для летнего времени
В этом примере используется логический метод для проверки того, корректируется ли дата по летнему времени.
$DST = Get-Date
$DST.IsDaylightSavingTime()
True
Переменная сохраняет $DST
результат .Get-Date
$DST
использует метод IsDaylightSavingTime , чтобы проверить, корректируется ли дата для летнего времени.
Пример 7. Преобразование текущего времени в формат UTC
В этом примере текущее время преобразуется в время в формате UTC. Смещение в формате UTC для языкового стандарта системы используется для преобразования времени. В таблице в разделе Заметки перечислены допустимые описатели формата UFormat .
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
использует параметр UFormat с описателями формата для отображения текущей системной даты и времени. Описатель формата %Z представляет смещение в формате UTC в размере -07.
Переменная $Time
хранит текущую системную дату и время. $Time
использует метод ToUniversalTime() для преобразования времени на основе смещения в формате UTC компьютера.
Пример 8. Create метки времени
В этом примере описатель формата создает объект timestamp String для имени каталога. Метка времени включает дату, время и смещение в формате 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
Переменная $timestamp
хранит результаты Get-Date
выполнения команды. Get-Date
использует параметр Format с описателем формата нижнего регистра o
для создания объекта string метки времени. Объект отправляется по конвейеру в .ForEach-Object
ScriptBlock содержит $_
переменную, представляющую текущий объект конвейера. Строка метки времени разделена двоеточиями, которые заменяются точками.
New-Item
использует параметр Path , чтобы указать расположение для нового каталога. Путь включает переменную в $timestamp
качестве имени каталога. Параметр Type указывает, что создается каталог.
Пример 9. Преобразование метки времени Unix
В этом примере время в формате Unix (представленное количеством секунд с 0:00:00 01.01.1970) преобразуется в тип DateTime.
Get-Date -UnixTimeSeconds 1577836800
Wednesday, January 01, 2020 12:00:00 AM
Пример 10. Возврат значения даты, интерпретированного как UTC
В этом примере показано, как интерпретировать значение даты как эквивалент в формате UTC. Например, для этого компьютера задано стандартное тихоокеанское время. По умолчанию Get-Date
возвращает значения для этого часового пояса. Используйте параметр AsUTC для преобразования значения в время, эквивалентное 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
Параметры
-AsUTC
Преобразует значение даты в эквивалентное время в формате UTC.
Этот параметр появился в PowerShell 7.1.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Date
Указывает дату и время. Время является необязательным и если не указано, возвращает 00:00:00.
Введите дату и время в формате, стандартном для языкового стандарта системы.
Например, на английском языке (США):
Get-Date -Date "6/25/2019 12:30:22"
возвращает вторник, 25 июня 2019 12:30:22
Type: | DateTime |
Aliases: | LastWriteTime |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Day
Указывает выводимый день месяца. Введите значение от 1 до 31.
Если указанное значение больше числа дней в месяце, PowerShell добавляет число дней в месяц. Например, Get-Date -Month 2 -Day 31
отображается 3 марта, а не 31 февраля.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayHint
Определяет, какие элементы даты и времени будут отображаться.
Допустимые значения:
- Date: отображается только дата;
- Time: отображается только время;
- DateTime: отображаются дата и время.
Type: | DisplayHintType |
Accepted values: | Date, Time, DateTime |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Format
Выводит дату и время в формате Microsoft .NET Framework, определяемом спецификатором формата. Параметр Format выводит объект String .
Список доступных описателей формата .NET см. в статье Настраиваемые строки формата даты и времени.
При использовании параметра Format получает только свойства объекта DateTime, Get-Date
необходимые для отображения даты. Поэтому некоторые свойства и методы объекта DateTime могут быть недоступны.
Начиная с PowerShell 5.0, в качестве значений параметра Format можно использовать следующие дополнительные форматы.
FileDate. Понятное представление текущей даты в местном времени или понятное представление пути. Формат :
yyyyMMdd
(с учетом регистра, с использованием 4-значных год, 2-значный месяц и 2-значный день). Например: 20190627.FileDateUniversal. Понятное для файла представление текущей даты в формате UTC. Формат имеет значение (с учетом регистра
yyyyMMddZ
, используя 4-значный год, 2-значный месяц, 2-значный день и буквуZ
в качестве индикатора UTC). Например: 20190627Z.FileDateTime. Понятное для файла представление текущей даты и времени по местному времени в формате 24 часа. Формат :
yyyyMMddTHHmmssffff
(с учетом регистра, с использованием 4-значного года, 2-значного месяца, 2-значного дня, буквыT
в качестве разделителя времени, двухзначного часа, двухзначной минуты, двухзначной секунды и 4-значного миллисекунда). Например: 20190627T0840107271.FileDateTimeUniversal. Понятное для файла представление текущей даты и времени в формате UTC в 24-часовом формате. Формат :
yyyyMMddTHHmmssffffZ
(с учетом регистра, используя 4-значный год, 2-значный месяц, 2-значный день, буквуT
в качестве разделителя времени, 2-значный час, 2-значную минуту, 2-значную секунду, 4-значную миллисекунды и буквуZ
в качестве индикатора UTC). Например: 20190627T1540500718Z.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Hour
Указывает выводимый час. Введите значение от 0 до 23.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Millisecond
Указывает миллисекунды в дате. Введите значение от 0 до 999.
Этот параметр появился в PowerShell 3.0.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Minute
Указывает выводимую минуту. Введите значение от 0 до 59.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Month
Указывает выводимый месяц. Введите значение от 1 до 12.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Second
Указывает выводимую секунду. Введите значение от 0 до 59.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UFormat
Выводит дату и время в формате UNIX. Параметр UFormat выводит строковый объект.
Описателям UFormat предшествует знак процента (%
), например , %m
%d
и %Y
. Раздел Notes содержит таблицу допустимых описателей UFormat.
При использовании параметра UFormat получает только свойства объекта DateTime, Get-Date
необходимые для отображения даты. Поэтому некоторые свойства и методы объекта DateTime могут быть недоступны.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UnixTimeSeconds
Дата и время, представленные в секундах с 1 января 1970 г., 0:00:00.
Этот параметр появился в PowerShell 7.1.
Type: | Int64 |
Aliases: | UnixTime |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Year
Указывает выводимый год. Введите значение от 1 до 9999.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Pipeline input
Get-Date
принимает входные данные конвейера. Например, Get-ChildItem | Get-Date
.
Выходные данные
System.DateTime or System.String
Get-Date
возвращает объект DateTime , за исключением случаев, когда используются параметры Format и UFormat . Параметры Format или UFormat возвращают объекты String .
Когда объект DateTime отправляется по конвейеру в командлет, который Add-Content
ожидает ввод строки, PowerShell преобразует объект в объект String .
Метод (Get-Date).ToString()
преобразует объект DateTime в объект String .
Чтобы отобразить свойства и методы объекта, отправьте объект вниз по конвейеру в Get-Member
.
Например, Get-Date | Get-Member
.
Примечания
Объекты DateTime имеют форматы long-date и long-time для языкового стандарта системы.
Допустимые описатели UFormat отображаются в следующей таблице:
Спецификатор формата | Значение | Пример |
---|---|---|
%A |
День недели — полное название | Понедельник |
%a |
День недели — сокращенное название | Mon |
%B |
Название месяца — полное | Январь |
%b |
Название месяца — сокращенное | Январь |
%C |
Века | 20 за 2019 год |
%c |
Дата и время — сокращенно | Чт июня 27 08:44:18 2019 |
%D |
Дата в формате мм/дд/гг | 06/27/19 |
%d |
День месяца — 2 цифры | 05 |
%e |
День месяца — предваряется пробелом, если только одна цифра | <пробел>5 |
%F |
Дата в формате ГГГГ-мм-дд, равна %Y-%m-%d (формат даты ISO 8601) | 2019-06-27 |
%G |
То же, что и "Y" | |
%g |
То же, что и "y" | |
%H |
Час в 24-часовом формате | 17 |
%h |
То же, что и "b" | |
%I |
Час в 12-часовом формате | 05 |
%j |
День года | 1-366 |
%k |
То же, что и "H" | |
%l |
То же, что и "I" (заглавная буква I) | 05 |
%M |
Минуты | 35 |
%m |
Номер месяца. | 06 |
%n |
Символ новой строки | |
%p |
До или после полудня | |
%R |
Время в 24-часовом формате -без секунд | 17:45 |
%r |
Время в 12-часовом формате | 09:15:36 |
%S |
Секунды | 05 |
%s |
Секунды истекли с 1 января 1970 00:00:00 | 1150451174 |
%t |
Символ горизонтальной табуляции | |
%T |
Время в 24-часовом формате | 17:45:52 |
%U |
То же, что и "W" | |
%u |
День недели — число | Воскресенье = 0 |
%V |
Неделя года | 01-53 |
%w |
То же, что и "u" | |
%W |
Неделя года | 00-52 |
%X |
То же, что и "T" | |
%x |
Дата в стандартном формате для языкового стандарта | 27.06.19 для английского —US |
%Y |
Год в формате 4 цифр | 2019 |
%y |
Год в двухзначном формате | 19 |
%Z |
Смещение часового пояса от универсальной координаты времени (UTC) | -07 |