我正在尝试解析格式的日期:



这是我的代码

String MessageRecieptDate = messageReceiptDate.Replace("T", " ").Remove(messageReceiptDate.Length-4);
DateTime dt = new DateTime();
IFormatProvider culture = new CultureInfo("en-US");
dt = DateTime.ParseExact(MessageRecieptDate, "dd MMM", culture);

但是它每次都会给出一些格式异常。似乎我缺少基本的东西。

最佳答案

什么应该工作:

//without ParseExact
var t1= DateTime.Parse(dt);

//you don't know how many milliseconds will be in your string,
//and want absolutely use ParseExact anyway
var t2= DateTime.ParseExact(dt.PadRight(27, '0'), "o", culture);

//you know you'll always have 3 chars for milliseconds.
var t3= DateTime.ParseExact(dt, "yyyy-MM-ddTHH:mm:ss.fff", culture);

10-07 19:19
查看更多