Анализиране на дати и часове, PowerShell и други скриптове
Get-Command | Външен блог
Почти всички стойности за дата и час в PowerShell са представени като DateTimes. Това е клас .Net, който ви позволява лесно да сравнявате и манипулирате различни стойности.
Често обаче е необходимо да се обработват източници на данни, в които стойностите на времето са представени под формата на обикновен текст - например дневници. И се случи така, че различните разработчици имат различни виждания за това как да записват времето в текстова форма. И тогава възниква въпросът - как да анализираме този низ и да го преобразуваме в типа DateTime? В публикацията за оператора -replace вече показах една от опциите как това може да се направи. Но честно казано, този начин е донякъде ... не "прав". 😉 Проблем, който често възниква. Затова реших да разгледам по-отблизо тази тема.
Нека започнем с най-простото. PowerShell (или .Net) може лесно да конвертира текстов низ в DateTime, ако времето в този низ е написано в определен формат. По-точно на американски, например "22.02.2008 23: 12: 33.1233", накратко - "месец/ден/година часове: минути: секунди милисекунди".
Интересното е, че това не зависи от регионалните настройки на системата - по подразбиране форматът винаги е американски. Това беше направено, за да могат скриптовете да работят по същия начин в системи с всякакви регионални настройки.