[英]Converting Unusual DateTime String to DateTime Object
我正在使用一個日志文件,該文件為我提供了一個如下所示的日期字符串:
09/Feb/2012:00:38:48
我一直在網上查看有關轉換日期的不同頁面,例如MSDN網站 ,但是沒有一個頁面顯示與該日期相當的日期。
我是否需要手動重新格式化字符串以使其類似於:
2012-02-09T00:38:48.0000000
還是有一種方法可以將其實際轉換?
您可以使用DateTime.TryParseExact從您指定的任何格式將字符串解析為DateTime。 此MSDN ref的底部有大量示例。
如AdaTheDev所述, DateTime.TryParseExact
是此處的解決之道。 按照“自定義日期和時間格式字符串”上的MSDN頁面,您需要MMM作為縮寫的月份名稱。
using System;
using System.Globalization;
class Test
{
static void Main()
{
string text = "09/Feb/2012:00:38:48";
DateTime value;
if (DateTime.TryParseExact(text, "dd/MMM/yyyy:HH:mm:ss",
CultureInfo.InvariantCulture,
DateTimeStyles.None,
out value))
{
Console.WriteLine("Success! {0}", value);
}
else
{
Console.WriteLine("Failed");
}
}
}
注意使用CultureInfo.InvariantCulture
例如,您似乎不應該使用當前區域性。
(當然,您可以改用Noda Time ;)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.