Новости

Формати часу і дати в PowerShell

Для отримання дати і часу в PowerShell існує командлет Get-Date. Виконавши команду Get-Date, ми отримаємо поточний час і дату в повному форматі. Ось так виглядає стандартний висновок дати в англійському (US) стандарті:

Ось так виглядає стандартний висновок дати в англійському (US) стандарті:

В принципі висновок досить інформативний, але іноді може знадобитися отримати дату в форматі, відмінному від дефолтного. Немає проблем, при необхідності формат виведення можна легко змінити безліччю різних способів. Найбільш простий - це використовувати стандартні формати дати і часу, наведені в таблиці.

ПараметрФормат часу \ дати
приклад виведення

d Короткий формат дати (ShortDatePattern) 7/2/2014 D Довгий формат дати (LongDatePattern) Wednesday, July 2, 2014 f Повна дата і час (long date and short time) Wednesday, July 2, 2014 12:50 AM F Повна дата і час (long date and long time) Wednesday, July 2, 2014 12:50:49 AM g General (short date and short time) 7/2/2014 12:50 AM G General (short date and long time) 7 / 2/2014 12:50:49 AM m, M День і місяць (MonthDayPattern) July 2 o Round-trip date / time pattern 2014-07-02T12: 50: 49.3494995 + 04: 00 r, R RFC1123Pattern Wed, 02 Jul 2014 12:50:49 GMT s SortableDateTimePattern (based on ISO 8601) 2014-07-02T12: 50: 49 t Короткий формат часу (ShortTimePattern) 12:50 AM T Довгий формат часу (LongTimePattern) 12:50:49 AM u Універсальний формат (UniversalSortableDateTimePattern) 2014-07-02 11: 21: 50Z U Повна дата і час (long date and lon g time) в UTC Wednesday, July 1, 2014 8:50:52 PM y, Y Рік і місяць (YearMonthPattern) July, 2014

Для використання формату треба вказати потрібне значення за допомогою параметра Format. Наприклад так ми отримаємо дату в короткому варіанті:

Get-Date -Format d

Так виведемо тільки рік і місяць:

Get-Date -Format y

Або тільки час:

Get-Date -Format T

А так подивимося дату \ час по UTC:

Get-Date -Format U

Get-Date -Format U

Якщо ж стандартних форматів недостатньо, то висновок дати \ часу можна кастомизировать за допомогою призначених для користувача параметрів. Їх досить багато, ось найбільш вживані.

ПараметрОпис

d,% d День місяця в цифровому форматі (1-31), без додавання лідируючого нуля. dd День місяця в цифровому форматі (01-31), з додаванням лідируючого нуля. ddd Назва дня тижня, короткий варіант (напр. Sun). dddd Назва дня тижня, повний варіант. h,% h Годинники в 12-годинному варіанті (1-12) без додавання лідируючого нуля. hh Годинники в 12-годинному варіанті (01-12) з додаванням лідируючого нуля. H,% H Годинники в 24-годинному варіанті (0-23) без додавання лідируючого нуля. HH Годинники в 24-годинному варіанті (00-23) з додаванням лідируючого нуля. m,% m Хвилини, без додавання лідируючого нуля. mm Хвилини, з додаванням лідируючого нуля. M,% M Місяць в цифровому форматі (1-12) без додавання лідируючого нуля. MM Місяць в цифровому форматі (01-12) з додаванням лідируючого нуля. MMM Назва місяця, скорочений варіант (напр. Jul). MMMM Назва місяця, повний варіант. s,% s Секунди, без додавання лідируючого нуля. ss Секунди, з додаванням лідируючого нуля. f, ff, fff, ffff Мілісекунди. t,% t Перемикач AM / PM (перша буква). tt Перемикач AM / PM. y,% y Рік без вказівки тисячоліття. Якщо рік менше 10, лідируючий нуль не додають (напр. 8). yy Рік без вказівки тисячоліття. Якщо рік менше 10, лідируючий нуль додається (напр. 08). yyyy Рік, повний формат. z,% z Годинна зона, короткий формат (напр. +4). zz Годинна зона, короткий формат (напр. +04). zzzz Годинна зона, повний формат (напр. +04: 00). g Ера, до \ після НЕ.

Знак відсотка (%) у вказівці параметра слід додавати, якщо параметр використовується сам по собі, а не в поєднанні з іншими параметрами.

Якщо необхідно додати в висновок якусь текстову інформацію, то можна використовувати зворотний слеш (\). Поставлений на початку він дозволяє інтерпретувати символи не як параметри, а як звичайні літери. Якщо ж ви хочете використовувати слеш як роздільник, то його треба екранувати, використовуючи подвійний слеш (\\).

Призначені для користувача настройки дозволяють отримати дату \ час в будь-якому зручному вигляді, наприклад так:

Get-Date -Format dd.MM.yyyy

Або так:

Get-Date -Format "dd MMMM yyyy HH: mm: ss"

І навіть так:

Get-Date -Format "dd MMMM yyyy HH: mm: ss.ffff zzzz g"

ffff zzzz g

Але і це не все. У командлет Get-Date є ще один параметр UFormat, для виведення дати в Unix-форматі.

ПараметрОпис

з Дата і час, зі скороченнями (Wed Jul 2 12:50:49 2014 року) D Короткий формат дати (7/2/2014) З Століття (21). у, g Рік в двозначному форматі (14) Y, G Рік в чотиризначному форматі (2014 року) b, h Місяць, коротку назву (Jul) B Місяць, повна назва (July) m Номер місяця в двозначному форматі (07) U, W номер тижні в році (00-52) V номер тижні в році (01-53) a День тижні, скорочена назва (Sun) A День тижні, повна назва (Sundy) u, w номер дня тижня, починаючи з понеділка (1 7) d День місяця в двозначному форматі (07). e День місяця в форматі пробіл + однозначне число (07). j Номер дня в році (1-366). p Перемикач AM \ PM. r Час в 12-годинному форматі R Час в 24-годинному форматі, без секунд T, X Час в 24-годинному форматі, повний варіант Z Зсув відносно UTC (+04). H, k Час в 24-годинному форматі (00-23) I, l Час в 12-годинному форматі (01-12) M Хвилини (01-60) S Секунди (01-60) s Число секунд, що пройшли з 1 січня 1970 року

При використанні UFormat перед кожним значенням необхідно ставити знак%, наприклад так:

Get-Date -UFormat "% A% d% B% r"

UFormat цікавий тим, що можемо отримати досить нестандартні варіанти, наприклад номер дня:

Get-Date -UFormat% j

Або тижні в році:

Get-Date -UFormat% j

І навіть кількість часу в секундах, що минув з 00 годин 00 хвилин 00 секунд 1 січня 1970 (початок відліку часу для UNIX-систем):

Get-Date -UFormat% s

Get-Date -UFormat% s

Як бачите, варіантів виведення море, є з чого вибрати. І на завершення нагадаю, що формат виведення часу \ дати залежить від регіональних налаштувань, змінити які можна з панелі управління.

На цьому все, а в наступний раз розглянемо варіанти перетворення текстових рядків в формат дати \ час.

Уважаемые партнеры, если Вас заинтересовала наша продукция, мы готовы с Вами сотрудничать. Вам необходимо заполнить эту форму и отправить нам. Наши менеджеры в оперативном режиме обработают Вашу заявку, свяжутся с Вами и ответят на все интересующее Вас вопросы.

Или позвоните нам по телефонам: (048) 823-25-64

Организация (обязательно) *

Адрес доставки

Объем

Как с вами связаться:

Имя

Телефон (обязательно) *

Мобильный телефон

Ваш E-Mail

Дополнительная информация: