Преобразование WMI Win32_OperatingSystem InstallDate в формат мм / дд / гггг (C # - WPF)
6407 просмотра
3 ответа
Мне интересно, как бы вы конвертировали дату и время из 20100131022308.000000-360.
Я пытался понять это некоторое время, и, похоже, никуда не денусь.
Я использую C # в приложении WPF.
Источник Размещён: 13.11.2019 11:47Ответы (3)
30 плюса
Класс System.Management.ManagementDateTimeConverter был создан для решения вашей проблемы. Используйте его метод ToDateTime (). Он правильно анализирует миллисекунды и смещение UTC в строке:
DateTime dt = System.Management.ManagementDateTimeConverter.ToDateTime("20100131022308.000000-360");
Console.WriteLine(dt);
Выход: 31.01.2010 2:23:08
Автор: Hans Passant Размещён: 02.03.2010 03:066 плюса
Игнорировать все после периода:
string date = "20100131022308.000000-360";
date = date.Substring(0, date.IndexOf('.'));
DateTime actualDate = DateTime.ParseExact(date, "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Console.WriteLine(actualDate);
Это довольно простой формат даты.
Автор: David Morton Размещён: 01.03.2010 09:040 плюса
Если вам нужно разобрать даты в .NET Standard, вы можете сделать следующее:
public static bool TryParse(string date, out DateTime result)
{
if (date == null) throw new ArgumentNullException("date");
try
{
var timezonePos = date.IndexOfAny(new[]{'+', '-'});
var isPlus = date[timezonePos] == '+';
var timeZoneStr = date.Substring(timezonePos + 1);
date = date.Substring(0, timezonePos);
result = DateTime.ParseExact(date, "yyyyMMddHHmmss.ffffff", CultureInfo.InvariantCulture);
//get utc by removing the timezone adjustment
var timeZoneMinutes = int.Parse(timeZoneStr);
result = isPlus
? result.AddMinutes(-timeZoneMinutes)
: result.AddMinutes(timeZoneMinutes);
return true;
}
catch (Exception)
{
return false;
}
}
Автор: jgauffin
Размещён: 18.03.2018 11:33
Вопросы из категории :
- c# Преобразовать десятичную в двойную?
- c# Как рассчитать чей-то возраст в C #?
- c# Как вы сортируете словарь по значению?
- c# В чем разница между int и Integer в Java и C #?
- c# Как создать новый экземпляр объекта из Типа
- c# Datatable против Dataset
- .net-3.5 LINQ-запрос к DataTable
- .net-3.5 Условные запросы Linq
- .net-3.5 Как разбирать строку в nullable int
- .net-3.5 Как присоединить int [] к символьно-разделенной строке в .NET?
- .net-3.5 Создание байтового массива из потока
- .net-3.5 Вызывать события C # с помощью метода расширения - это плохо?
- wmi Генерация уникального идентификатора машины
- wmi Рекомендации по панели управления предприятием
- wmi Обнаружение вставки и извлечения USB-накопителя с помощью службы Windows и c #
- wmi WMI «установленный» запрос отличается от списка добавления / удаления программ?
- wmi Преобразование WMI Win32_OperatingSystem InstallDate в формат мм / дд / гггг (C # - WPF)
- wmi Как найти доступные параллельные порты и их адреса ввода / вывода, используя Delphi и WMI