Get-Date
Возвращает текущую дату и время.
Синтаксис
net (По умолчанию)
Get-Date
[[-Date] <DateTime>]
[-Year <Int32>]
[-Month <Int32>]
[-Day <Int32>]
[-Hour <Int32>]
[-Minute <Int32>]
[-Second <Int32>]
[-Millisecond <Int32>]
[-DisplayHint <DisplayHintType>]
[-Format <String>]
[<CommonParameters>]
UFormat
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 получает объект 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 для получения элемента даты или времени. Параметр использует аргументы даты, времениили DateTime.
Get-Date -DisplayHint Date
Tuesday, June 25, 2019
Get-Date использует параметр DisplayHint с аргументом date 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 использует параметр формата для указания нескольких описателей формата.
Описатели формата .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. Создание метки времени
В этом примере описатель формата создает метку времени объект 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 String метки времени. Объект отправляется по конвейеру в ForEach-Object.
ScriptBlock содержит переменную $_, представляющую текущий объект конвейера. Строка метки времени разделена двоеточиями, которые заменяются периодами.
New-Item использует параметр пути для указания расположения нового каталога. Путь включает переменную $timestamp в качестве имени каталога. Параметр Type указывает, что создается каталог.
Пример 9. Отображение инвариантного языка и региональных параметров
ToString() преобразует объект dateTime DateTimestring с помощью текущего параметра языка и региональных параметров.
Однако интерпретация выражений PowerShell всегда использует инвариантный параметр языка и региональных параметров.
Например, в системе с en-US языком и региональными параметрами метод ToString() форматирует дату с помощью параметров языка и региональных параметров en-US.
# 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
Параметры
-Date
Указывает дату и время. Время является необязательным, а если не указано, возвращает значение 00:00:00. Введите дату и время в формате, стандартном для выбранного языкового стандарта. Текущий языковой стандарт можно изменить с помощью командлета Set-Culture.
Например, на английском языке США:
Get-Date -Date "6/25/2019 12:30:22" возвращается вторник, 25 июня 2019 г. 12:30:22
Свойства параметров
| Тип: | DateTime |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | ВремяПоследнейЗаписи |
Наборы параметров
(All)
| Position: | 0 |
| Обязательно: | False |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Day
Указывает день отображаемого месяца. Введите значение от 1 до 31.
Если указанное значение больше числа дней в месяц, PowerShell добавляет количество дней в месяц. Например, Get-Date -Month 4 -Day 31 отображается 1 мая, а не 31 апреля.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-DisplayHint
Определяет элементы даты и времени.
Допустимые значения приведены следующим образом:
- дата: отображается только дата
- время: отображается только время
- DateTime: отображает дату и время
Свойства параметров
| Тип: | DisplayHintType |
| Default value: | None |
| Допустимые значения: | Date, Time, DateTime |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Format
Отображает дату и время в формате Microsoft .NET Framework, указанного описательом формата. Параметр Format выводит объект String.
Список доступных описателей формата .NET см. в строк пользовательского формата даты и времени.
Если используется параметр формата, Get-Date получает свойства объекта DateTime, необходимые для отображения даты. В результате некоторые свойства и методы объектов 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в качестве разделителя времени, 2-значный час, 2-разрядную минуту, 2-разрядную секунду и 4-разрядную миллисекунда). Например: 20190627T0840107271.ФайлДатаВремяУниверсальный. Понятное для файла представление текущей даты и времени в формате UTC в формате 24 часа. Формат
yyyyMMddTHHmmssffffZ(учитывает регистр, используя 4-значный год, 2-значный месяц, 2-значный день, буквуTв качестве разделителя времени, 2-значный час, 2-разрядную минуту, 2-разрядную секунду, 4-цифру миллисекунда и буквуZкак индикатор UTC). Например: 20190627T1540500718Z.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
net
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Hour
Указывает час, отображаемый. Введите значение от 0 до 23.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Millisecond
Указывает миллисекунда в дате. Введите значение от 0 до 999.
Этот параметр появился в PowerShell 3.0.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Minute
Указывает минуту, отображаемую. Введите значение от 0 до 59.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Month
Указывает отображаемый месяц. Введите значение от 1 до 12.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Second
Указывает секунду, отображаемую. Введите значение от 0 до 59.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-UFormat
Отображает дату и время в формате Unix. Параметр UFormat выводит строковый объект.
описатели UFormat предшествуют знаку процента (%), например %m, %dи %Y. Раздел заметок содержит таблицу допустимых описателей UFormat.
Свойства параметров
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
UFormat
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Year
Указывает год, отображаемый. Введите значение от 1 до 9999.
Свойства параметров
| Тип: | Int32 |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
DateTime
Вы можете передать объект DateTime в этот командлет.
Выходные данные
DateTime
По умолчанию этот командлет возвращает объект DateTime.
Когда объект dateTime отправляется по конвейеру в командлет, например Add-Content, который ожидает ввод строк, PowerShell преобразует объект в объект String.
ToString() преобразует объект DateTime в string с помощью текущего параметра языка и региональных параметров.
Однако интерпретация выражений PowerShell всегда использует инвариантный параметр языка и региональных параметров. Сведения о том, как инвариантные региональные параметры отличаются, см. в примере 9.
Чтобы отобразить свойства и методы объекта, отправьте объект вниз конвейера в Get-Member.
Например: Get-Date | Get-Member.
String
При использовании параметров format или UFormat этот командлет возвращает объекты String.
Примечания
Форматы по умолчанию для выходных данных объектов DateTime — это форматы длинной даты и длительного времени для выбранного языкового стандарта.
Допустимые описатели UFormat отображаются в следующей таблице:
Это важно
описатели UFormat изменяются или добавляются в более новых версиях PowerShell. Например, %F добавлена в PowerShell 6.2, поэтому она недоступна в Windows PowerShell 5.1 или более ранней версии. Помните об этом при использовании описателей UFormat в сценариях, предназначенных для выполнения в нескольких версиях PowerShell.
| Спецификатор формата | Значение | Пример |
|---|---|---|
%A |
День недели - полное имя | Понедельник |
%a |
День недели - сокращенное имя | Пн |
%B |
Имя месяца — полное | Январь |
%b |
Имя месяца — сокращено | Jan |
%C |
Век | 20 за 2019 год |
%c |
Дата и время — сокращено | Чт 27 08:44:18 2019 |
%D |
Дата в формате мм/дд/гг | 06/27/19 |
%d |
День месяца — 2 цифры | 05 |
%e |
День месяца — перед пробелом, если только одна цифра | <пробел>5 |
%G |
То же, что и "Y" | |
%g |
То же самое, что 'y' | |
%H |
Час в 24-часовом формате | 17 |
%h |
То же самое, что "b" | |
%I |
Час в формате 12 часов | 05 |
%j |
День года (не включает в себя ведущие 0 — исправлено в PowerShell 6+) |
1-366 |
%k |
То же самое, что "H" | |
%l |
То же самое, что "I" (верхний регистр i) | 05 |
%M |
Протокол собрания | 35 |
%m |
Номер месяца | 06 |
%n |
символ новой строки | |
%p |
AM или PM | |
%R |
Время в 24-часовом формате -no секунд | 17:45 |
%r |
Время в формате 12 часов | 09:15:36 |
%S |
Секунды | 05 |
%s |
С 1 января 1970 г. 00:00:00 (преобразовано в местное время) | 1150451174.95705 |
%t |
Символ горизонтальной вкладки | |
%T |
Время в 24-часовом формате | 17:45:52 |
%U |
То же самое, что "W" | |
%u |
День недели - число | Воскресенье = 0 |
%V |
Неделя года | 01-53 |
%w |
То же самое, что "u" | |
%W |
Неделя года | 1-53 |
%X |
То же самое, что "T" | |
%x |
Дата в стандартном формате для языкового стандарта | 06.27.19 для English-US |
%Y |
Год в формате 4 цифр | 2019 |
%y |
Год в формате с 2 цифрами | 19 |
%Z |
Смещение часового пояса из универсальной координаты времени (UTC) | -07 |
Замечание
Поведение Windows PowerShell с Get-Date -UFormat %s неверно в двух отношениях:
- Возвращаемое значение основано на локальном времени вместо времени UTC.
- Строковое представление значения секунд имеет дробную часть. Выходные данные чувствительны к десятичному знаку с учетом языка и региональных параметров.
Эти действия были исправлены в PowerShell 6 и более поздних версиях.