Получает текущие значение даты и времени.

Синтаксис

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 без изменений.






См. также