无法将字符串值转换为日期时间,包括毫秒
我有一个字符串值,我需要转换为DateTime无法将字符串值转换为日期时间,包括毫秒
的currentdate =“29-APR-17 03.42.06.410000 PM”
我想下面的语句,但它抛出错误:
DateTime originalDate = DateTime.Parse(currentDate);
DateTime originalDate = Convert.ToDateTime(currentDate);
我甚至跟着这个链接“https://msdn.microsoft.com/en-us/library/bb882581(v=vs.110).aspx” ,但也没有帮助
此外,*中提供的信息没有帮助,因为我总是面临错误字符串未被识别为有效的DateTime。
的DateTime.ParseExact
要解决这样的格式:
DateTime originalDate = DateTime.ParseExact(currentDate, "dd-MMM-yy hh.mm.ss.ffffff tt", CultureInfo.InvariantCulture, DateTimeStyles.None);
,或者如果时间部分被分离用冒号:使用Console.WriteLine(originalDate.ToString("dd/MM/yyyy hh:mm:ss.ffffff tt"))
DateTime.ParseExact(currentDateWithColons, "dd-MMM-yy hh:mm:ss.ffffff tt", CultureInfo.InvariantCulture, DateTimeStyles.None);
两个点,并产生相同的结果冒号:
29/04/2017 03:42:06.410000 PM
工作实施例:.NET Fiddle Demo
尝试下面的代码
string currentDate="29-APR-17 03:42:06.410000 PM"
DateTime originalDate = DateTime.Parse(currentDate);
originalDate = Convert.ToDateTime(currentDate);
Console.WriteLine(originalDate.ToString("dd-MM-yyyy-fff"));
你正在使用格式错误的使用方法:代替。及时。
改变 “29-APR-17 03.42.06 0.410000 PM” 到 “29-APR-17 3点42分06秒 0.410000 PM”
它没有区别。它仍然不显示毫秒值。这是我的要求。 – Yash
@Yash Console.WriteLine(originalDate.ToString(“dd-MM-yyyy-fff”)); –
如果要显示毫秒值,请使用ToString()方法和自定义日期时间格式。为我工作得很好 –
DateTime.ParseExact是你的方式在这里 – Saurabh