Формати часу і дати в PowerShell.
Для отримання дати і часу в PowerShell існує командлет Get-Date. Виконавши команду Get-Date, ми отримаємо поточний час і дату в повному форматі. Ось так виглядає стандартний висновок дати в англійському (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 long 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
Якщо ж стандартних форматів недостатньо, то висновок дати \ часу можна кастомизировать за допомогою призначених для користувача параметрів.Їх досить багато, ось найбільш вживані.
Параметр | Опис |
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 "
Але і це не все. У командлет 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
Як бачите, варіантів виведення море, є з чого вибрати.І на завершення нагадаю, що формат виведення часу \ дати залежить від регіональних налаштувань, змінити які можна з панелі управління.
На цьому все, а в наступний раз розглянемо варіанти перетворення текстових рядків в формат дати \ час.
.