Странная строка возвращается из LastBootUpTime - PullRequest
1 голос
/ 03 июля 2019

Я возвращаю значение из Win32_OperatingSystem, используя System.Management (я знаю о Microsoft.Management.Infrastructure, но я просто провожу некоторое тестирование).

Это то, что я запускаю:

string bootTime = "";
//Creating a management searcher object
ManagementObjectSearcher mgmtObjSearcher = new ManagementObjectSearcher("SELECT LastBootUpTime FROM Win32_OperatingSystem");
//Collection to hold "results"
ManagementObjectCollection objCollection = mgmtObjSearcher.Get();
foreach (ManagementObject mgmtObject in objCollection)
{
    bootTime = mgmtObject["LastBootUpTime"].ToString();
}

Но при попытке запустить Convert.ToDateTime(bootTime).ToString("dd/MM/yyyy hh:mm:ss"); я получаю следующую ошибку:

System.FormatException: 'Строка не была распознана как допустимый DateTime.'

Похоже, что значение LastBootUpTime возвращается как 20190703085750.500000+060, которое я не могу преобразовать с помощью Convert.ToDateTime и не могу работать с использованием DateTime.Parse

Может кто-нибудь протянуть руку помощи идайте мне знать, где я иду не так?Я просто хочу вернуть LastBootUpTime и преобразовать определенный формат строки ("дд / мм / гггг чч: мм: сс").Любая помощь очень ценится :)

1 Ответ

0 голосов
/ 22 июля 2019

Исходя из комментариев Оссы Пёнджерденларпа и Сонера Генюля, я получил следующее:

string bootTime = "";
//Creating a management searcher object
ManagementObjectSearcher mgmtObjSearcher = new ManagementObjectSearcher("SELECT LastBootUpTime FROM Win32_OperatingSystem");
//Collection to hold "results"
ManagementObjectCollection objCollection = mgmtObjSearcher.Get();
foreach (ManagementObject mgmtObject in objCollection)
{
    bootTime = ManagementDateTimeConverter.ToDateTime(mgmtObject["LastBootUpTime"].ToString()).ToString("dd/MM/yyyy HH:mm:ss");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...