Преобразование даты в строку

PowerShell:
Преобразование даты в строку

Как это сделать:

Чтобы превратить дату в строку, мы используем метод ToString или оператор формата -f. Вот как:

# Текущая дата и время
$date = Get-Date

# Стандартное преобразование в строку
$dateString = $date.ToString()
Write-Output $dateString

# Пользовательский формат: Год-Месяц-День Часы:Минуты
$customFormat = $date.ToString("yyyy-MM-dd HH:mm")
Write-Output $customFormat

# Использование оператора -f для того же пользовательского формата
$fString = "{0:yyyy-MM-dd HH:mm}" -f $date
Write-Output $fString

Пример вывода:

2023-03-17 10:45:00
2023-03-17 10:45
2023-03-17 10:45

Подробнее

PowerShell, вдохновлённый командными оболочками Unix и Windows Script Host, ввёл в своём развитии, начиная с 2006 года, команду Get-Date. Это стало предпочтительной командой для операций с датой и временем. Метод ToString для объектов DateTime и оператор формата -f заимствованы из концепций .NET, что придает PowerShell его объектно-ориентированные черты.

Если ToString() не указан с форматом, он выдает полную дату и время в формате текущей культуры. Но когда вам нужен определенный макет, например ISO 8601 или только день и месяц, пользовательские строки формата даты и времени .NET становятся вашими друзьями.

Есть и другой, старый способ — использование шаблонов формата DateTime, таких как yyyy для четырехзначного года, MM для месяца с нулём впереди. Они интуитивно понятны и многообразны для создания любого формата даты и времени.

Затем есть POSIX в Unix, где команды date правят бал с их собственными спецификаторами формата. PowerShell сблизил эти два мира, принимая знакомые методы, но также обеспечивая тесную совместимость с системами Windows.

Альтернативы включают в себя базовое объединение компонентов даты и использование внешних утилит или языковых инфраструктур. Однако PowerShell предпочитает держать всё в собственном доме с помощью мощных встроенных команд.

Вы можете более глубоко погрузиться в спецификаторы формата в официальной документации Microsoft или открыть для себя блоги сообщества, которые часто делятся творческими способами манипулирования датами и временем в PowerShell.

Смотрите также

  • Официальная документация PowerShell о командлете Get-Date, которая предоставляет использование и примеры.
  • Руководство по стандартным и пользовательским строкам формата от .NET для детального изучения форматирования.
  • Блоги сообщества, такие как форумы PowerShell.org или Stack Overflow для реальных примеров и обсуждения решения проблем.