我从外部系统接收到一些文件,日期/时间表示为28/Jul/2015:01:02:36 -0500
。
在C#中将其解析为DateTime
类型的最佳方法是什么?
我从外部系统接收到一些文件,日期/时间表示为28/Jul/2015:01:02:36 -0500
。
在C#中将其解析为DateTime
类型的最佳方法是什么?
关于C#中的自定义日期格式,您可以在此处查找更多信息:
以下是一些代码帮助您入门。
首先,确定您期望的正确格式字符串,然后使用ParseExact
。
static void Main(string[] args)
{
var date = "28/Jul/2015:01:02:36 -0500";
var formatstring = "dd/MMM/yyyy:HH:mm:ss K";
var d = DateTime.ParseExact(date, formatstring, null);
Console.WriteLine(d);
Console.ReadLine();
}
尝试
CultureInfo provider = CultureInfo.InvariantCulture;
var dateString = "28/Jul/2015:01:02:36 -0500";
var format = "dd/MMM/yyyy:hh:mm:ss zzzz";
var date = DateTime.ParseExact(dateString,format,provider);
DateTime d;
DateTime.TryParseExact(target,"dd/MMM/yyyy:hh:mm:ss zzzz", CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out d);
DateTimeOffset
而不是DateTime
。特别是如果-05:00
不是你所在时区的偏移量。 - Matt Johnson-Pint