Получает текущие значение даты и времени.
Синтаксис
Get-Date [-Format <string>] [[-Date] <DateTime>] [-Day <int>] [-DisplayHint {<Date> | <Time> | <DateTime>}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>] Get-Date [-UFormat <string>] [[-Date] <DateTime>] [-Day <int>] [-DisplayHint {<Date> | <Time> | <DateTime>}] [-Hour <int>] [-Minute <int>] [-Month <int>] [-Second <int>] [-Year <int>] [<CommonParameters>]
Описание
Командлет Get-Date получает объект DateTime, содержащий текущую или заданную дату. Он позволяет выводить дату и время в различных форматах Windows и UNIX. С помощью командлета Get-Date можно создать текстовую строку с датой или временем, а затем передать ее другим командлетам или программам.
Параметры
-Date <DateTime>
Задает дату и время. По умолчанию команда Get-Date возвращает текущие значения системной даты и времени.
Введите дату в формате, определенном локалью системы, например dd-MM-yyyy (Немецкий [Германия]) или MM/dd/yyyy (Английский [США]).
Обязательно? |
false |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue, ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Day <int>
Задает отображаемое значение числа месяца. Введите значение от 1 до 31. Это значение будет отображаться вместо текущего числа.
Если указать значение, превышающее число дней в месяце, оболочка Windows PowerShell прибавит соответствующее значение к количеству дней в месяце и выведет полученный результат. Например, результатом выполнения команды "get-date -month 2 -day 31" будет "3 марта", а не "31 февраля".
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-DisplayHint <DisplayHintType>
Определяет, какие элементы даты и времени будут отображаться.
Допустимые значения:
-- Date: отображается только дата;
-- Time: отображается только время;
-- DateTime: отображаются дата и время.
По умолчанию используется значение DateTime.
Этот параметр не влияет на объект DateTime, возвращаемый командой Get-Date.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Format <string>
Отображает дату и время в формате Microsoft .NET Framework, указанном описателем формата. Введите описатель формата. Список доступных описателей формата см. в разделе "DateTimeFormatInfo Class" библиотеки MSDN (Microsoft Developer Network) по адресу http://go.microsoft.com/fwlink/?LinkId=143638.
При использовании параметра Format оболочка Windows PowerShell возвращает только те свойства объекта DateTime, которые требуются для отображения даты в указанном формате. В результате некоторые свойства и методы объектов DateTime могут оказаться недоступными.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Hour <int>
Задает отображаемое значение часа. Введите значение от 1 до 23. Это значение будет отображаться вместо текущего часа.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Minute <int>
Задает отображаемое значение минуты. Введите значение от 1 до 59. Это значение будет отображаться вместо текущей минуты.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Month <int>
Задает отображаемое значение месяца. Введите значение от 1 до 12. Это значение будет отображаться вместо текущего месяца.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Second <int>
Задает отображаемое значение секунды. Введите значение от 1 до 59. Это значение будет отображаться вместо текущей секунды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-UFormat <string>
Отображает дату и время в формате UNIX. Список описателей формата см. в разделе "Примечания".
При использовании параметра UFormat оболочка Windows PowerShell возвращает только те свойства объекта DateTime, которые требуются для отображения даты в указанном формате. В результате некоторые свойства и методы объектов DateTime могут оказаться недоступными.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-Year <int>
Задает отображаемое значение года. Введите значение от 1 до 9999. Это значение будет отображаться вместо текущего года.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
None Передать входные данные этому командлету по конвейеру невозможно. |
Выходные данные |
System.DateTime или System.String При использовании параметров Format и UFormat выходной объект — System.String. |
Примечания
По умолчанию дата и время отображаются в определенном локалью системы полном формате даты и полном формате времени.
При передаче даты по конвейеру командлету, принимающий строковые значения, например командлету Add-Content, оболочка Windows PowerShell преобразует объект DateTime в строку, прежде чем добавить его в файл. По умолчанию метод ToString() использует короткий формат даты и полный формат времени. Чтобы указать другой формат, воспользуйтесь параметрами Format или UFormat командлета Get-Date.
Значения Uformat:
Параметр UFormat может иметь следующие значения. Формат команды таков:
get-date -uformat %<значение>
Например:
get-date -uformat %d
Дата и время:
Дата и время — полный формат
(по умолчанию) (Пятница, 16 июня 2006 г. 10:31:27)
c Дата и время — сокращенный формат (Пт 16 июн 2006 10:31:27)
Дата:
D Дата в формате мм/дд/гг (06/14/06)
x Дата в стандартном формате локали (09/12/07 в случае американского варианта английского стандарта)
Год:
C Век (в случае 2006 года — 20)
Y Год в четырехзначном формате (2006)
y Год в двузначном формате (06)
G То же, что и "Y"
g То же, что и "y"
Месяц:
b Сокращенное название месяца (Янв)
B Полное название месяца (Январь)
h То же, что и "b"
m Номер месяца (06)
Неделя:
W Неделя года (00–52)
V Неделя года (01–53)
U То же, что и "W"
День:
a Сокращенное название дня недели (Пн)
A Полное название дня недели (Понедельник)
u Номер дня недели (понедельник = 1)
d День месяца — двузначный формат (05)
e День месяца — однозначное число, которому предшествует пробел ( 5)
j День года (1–366)
w То же, что и "u"
Время:
p AM или PM (до полудня или после полудня)
r Время в 12-часовом формате (09:15:36 AM)
R Время в 24-часовом формате без секунд (17:45)
T Время в 24-часовом формате (17:45:52)
X То же, что и "T"
Z Сдвиг часового пояса от всеобщего скоординированного времени (UTC) (-07)
Час:
H Час в 24-часовом формате (17)
I Час в 12-часовом формате (05)
k То же, что и "H"
l То же, что и "I" ("L" в нижнем регистре)
Минуты и секунды:
M Минуты (35)
S Секунды (05)
s Число секунд, прошедших с 00 часов 00 минут 00 секунд 1 января 1970 года (1150451174.95705)
Специальные знаки:
n Знак новой строки (\n)
t Знак табуляции (\t)
Пример 1
C:\PS>get-date -DisplayHint date Tuesday, June 13, 2006 Описание ----------- Эта команда возвращает объект DateTime, но отображает только дату. Параметр DisplayHint указывает, что должна отображаться только дата.
Пример 2
C:\PS>get-date -format g 6/13/2006 12:43 PM Описание ----------- Эта команда возвращает текущие дату и время, форматируя их в кратком формате даты и времени. Для указания формата в ней используется принятый в .NET Framework описатель формата "g" (General [краткий формат даты и краткий формат времени]).
Пример 3
C:\PS>get-date -uformat "%Y / %m / %d / %A / %Z" 2006 / 06 / 13 / Tuesday / -07 Описание ----------- Эта команда возвращает текущие дату и время, форматируя их так, как указано в команде. В данном случае выводится номер года в полном формате (%Y), номер месяца в двузначном формате (%m), номер дня в двузначном формате (%d), название дня недели в полном формате (%A) и смещение от времени UTC ("Zulu").
Пример 4
C:\PS>(get-date -year 2000 -month 12 -day 31).dayofyear 366 Описание ----------- Эта команда отображает номер текущего дня года. Например, 31 декабря — это 365 день 2006 года, но 366 день 2000 года.
Пример 5
C:\PS>$a = get-date C:\PS> $a.IsDaylightSavingTime() True Описание ----------- Эта команда сообщает, корректируются ли текущие дата и время с учетом перехода на летнее и зимнее время в используемой локали. Первая команда создает переменную с именем $a, после чего присваивает ей объект, возвращенный командлетом Get-Date. После этого для объекта в переменной $a вызывается метод IsDaylightSavingTime. Чтобы узнать свойства и методы объекта DateTime, введите: "get-date | get-member".
Пример 6
C:\PS>$a = get-date C:\PS> $a.ToUniversalTime() Tuesday, June 13, 2006 8:09:19 PM Описание ----------- Эти команды преобразуют текущие дату и время в формат времени UTC. Первая команда создает переменную с именем $a, после чего присваивает ей объект, возвращенный командлетом Get-Date. После этого для объекта в переменной $a вызывается метод ToUniversalTime.
Пример 7
C:\PS>$a = get-wmiobject win32_bios -computer server01 $a | format-list -property Name, @{Label="BIOS Age"; ` Expression={(get-date) - $_.ConvertToDateTime($_.ReleaseDate)}} Name : Default System BIOS BIOS Age : 1345.17:31:07.1091047 Описание ----------- В инструментарии управления Windows (WMI) используется объект даты-времени, отличный от аналогичного объекта .NET Framework, возвращаемого командлетом Get-Date. Чтобы использовать такие объекты WMI в одной команде с данными о дате и времени, возвращенными командлетом Get-Date, нужно вызвать метод ConvertToDateTime для преобразования WMI-объектов CIM_DATETIME в объекты DateTime платформы .NET Framework. Команды в данном примере отображают название BIOS на удаленном компьютере Server01 и время, прошедшее с момента выпуска BIOS. Первая команда с помощью командлета Get-WmiObject получает экземпляр класса Win32_BIOS на компьютере Server01, после чего сохраняет его в переменной $a. Во второй команде WMI-объект, сохраненный в переменной $a, с помощью оператора конвейера (|) передается командлету Format-List. Параметр Property командлета Format-List указывает два свойства, которые будут отображаться в списке: "Name" и "BIOS Age". Свойство "BIOS Age" определено в хэш-таблице. Эта таблица содержит ключи Label и Expression, которые определяют, соответственно, имя свойства и выражение, на основе которого вычисляется время, прошедшее с момента выпуска BIOS. Для преобразования каждого экземпляра класса ReleaseDate в объект DateTime платформы .NET Framework в выражении используется метод ConvertToDateTime. Затем полученное значение вычитается из значения, возвращенного командлетом Get-Date, который при отсутствии параметров возвращает текущую дату. Открывающая кавычка (`) в Windows PowerShell является знаком продолжения строки.
Пример 8
C:\PS>get-date Tuesday, June 13, 2006 12:43:42 PM Описание ----------- Эта команда получает объект DateTime и выводит текущие дату и время в формате длинной даты и длинного времени для локали системы, как если бы была введена команда "get-date -format F".
Пример 9
C:\PS>get-date C:\PS> Tuesday, September 26, 2006 11:25:31 AM c:\PS>(get-date).ToString() 9/26/2006 11:25:31 AM C:\PS>get-date | add-content test.txt # Adds 9/26/2006 11:25:31 AM C:\PS>get-date -format F | add-content test.txt # Adds Tuesday, September 26, 2006 11:25:31 AM Описание ----------- В этих командах показано, как использовать командлет Get-Date с командлетом Add-Content и другими командлетами, которые преобразуют объект DateTime, возвращаемый командлетом Get-Date, в строку. Первая команда показывает, что по умолчанию командлет get-date выводит результат в полном формате даты и времени. Вторая команда показывает, что по умолчанию метод ToString() объекта DateTime возвращает дату и время в коротком формате. Третья команда с помощью оператора конвейера передает объект DateTime командлету Add-Content, который добавляет содержимое в файл Test.txt. Поскольку командлет Add-Content использует метод ToString() объекта DateTime, добавляемая дата имеет короткий формат даты и времени. Четвертая команда использует параметр Format командлета Get-Date, чтобы задать формат. При использовании параметров Format и UFormat командлет Get-Date создает строку, а не объект DateTime. Затем, когда строка передается командлету Add-Content, эта строка добавляется в файл Test.txt без изменений.