将 DateTime 转换为人类可读格式 (MSFT_MpComputerStatus class)
Convert DateTime to human readable format (MSFT_MpComputerStatus class)
也许这是一个愚蠢的问题,但我有一个带有日期的字符串,如下所示:20190516060354.000000+000
,想知道我是否可以自动将其转换为 dd-mm-YYYY hh:mm
这样的日期格式。
重要提示:我不想手动解析日期。
日期来自 WMIv2 class MSFT_MpComputerStatus => AntivirusSignatureLastUpdated
DateTime.ParseExact / TryParseExact
您必须手动解析它...使用 .Net 拥有的工具。
您可以执行以下操作:
string inputDate = "20190516060354.000000+000";
DateTime parsed = DateTime.ParseExact(inputDate, "yyyyMMddHHmmss.ffffffzz0", CultureInfo.InvariantCulture);
string output = parsed.ToString(); // Or .ToString("dd-mm-YYYY HH:mm")
如果您不确定格式,可以使用TryParse 方法并记录错误以进行调整。或者在 Parse/TryParse 方法中使用允许多种格式的重载。
更多信息
https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1
我仍然对最后一个 0 或 +000 三个零的含义表示怀疑。
使用适当的System.Management实用方法
对于正是这种情况:
System.Management.ManagementDateTimeConverter.ToDateTime(string) 方法。
例如在 PowerShell 中
[System.Management.ManagementDateTimeConverter]::ToDateTime('20190516060354.000000+000')
Wednesday, May 15, 2019 11:03:54 PM
或 C#
using System;
using System.Management;
System.DateTime dt = ManagementDateTimeConverter.ToDateTime("20190516060354.000000+000");
Console.WriteLine(dt);
也许这是一个愚蠢的问题,但我有一个带有日期的字符串,如下所示:20190516060354.000000+000
,想知道我是否可以自动将其转换为 dd-mm-YYYY hh:mm
这样的日期格式。
重要提示:我不想手动解析日期。
日期来自 WMIv2 class MSFT_MpComputerStatus => AntivirusSignatureLastUpdated
DateTime.ParseExact / TryParseExact
您必须手动解析它...使用 .Net 拥有的工具。
您可以执行以下操作:
string inputDate = "20190516060354.000000+000";
DateTime parsed = DateTime.ParseExact(inputDate, "yyyyMMddHHmmss.ffffffzz0", CultureInfo.InvariantCulture);
string output = parsed.ToString(); // Or .ToString("dd-mm-YYYY HH:mm")
如果您不确定格式,可以使用TryParse 方法并记录错误以进行调整。或者在 Parse/TryParse 方法中使用允许多种格式的重载。
更多信息
https://www.c-sharpcorner.com/blogs/date-and-time-format-in-c-sharp-programming1
我仍然对最后一个 0 或 +000 三个零的含义表示怀疑。
使用适当的System.Management实用方法
对于正是这种情况:
System.Management.ManagementDateTimeConverter.ToDateTime(string) 方法。
例如在 PowerShell 中
[System.Management.ManagementDateTimeConverter]::ToDateTime('20190516060354.000000+000')
Wednesday, May 15, 2019 11:03:54 PM
或 C#
using System;
using System.Management;
System.DateTime dt = ManagementDateTimeConverter.ToDateTime("20190516060354.000000+000");
Console.WriteLine(dt);