我正在尝试在使用该格式的时间戳上使用 DateTime.ParseExact,M/d/yyyy HH:mm:ss:fff
编译器告诉我这不会发生。
我的时间戳的一个例子是:
3/26/2013 14:37:05:553
...我的代码的一个例子是,_CultureInfo 是 en-us。
DateTime someDateTime = DateTime.ParseExact("3/26/2013 14:37:05:553","M/d/yyyy HH:mm:ss:fff", _CultureInfo.DateTimeFormat);
看下面的图片是怎么回事......我错过了什么吗?
新编辑
我又尝试了几件事,但仍然没有运气:
- 更改
:fff
为.fff
- 按照以下建议更改
_CultureInfo.DateTimeFormat
为System.Globalization.CultureInfo.InvariantCulture
和更改d
为dd
以下是您可以放入控制台并运行的内容,以查看它在我的最终表现如何。
class Program
{
static void Main(string[] args)
{
CsvImporter importer = new CsvImporter();
DateTime readtime = importer.Parse(@"""3/26/2013 14:37:07:238,00:00:01.6850000,23.138,23.488,23.175""");
Console.WriteLine(readtime.ToString());
}
}
class CsvImporter
{
public Char[] _SeparatorChars = new Char[] { ',' };
public DateTime Parse(string text)
{
System.Globalization.CultureInfo _CultureInfo = System.Globalization.CultureInfo.CurrentCulture;
string txt = text.Replace('"', ' ');
string[] columns = txt.Split(_SeparatorChars);
return DateTime.ParseExact(columns[0], "M/dd/yyyy HH:mm:ss:fff", _CultureInfo.DateTimeFormat);
//return DateTime.ParseExact(columns[0], "M/dd/yyyy HH:mm:ss.fff", System.Globalization.CultureInfo.InvariantCulture);
}
}