我正在尝试将数据时间字符串“包括毫秒”转换为DataTime。我试过尝试使用DateTime.TryParseExact
,但它没有给我一毫秒。
这就是我累了
public static DateTime? dateTimeVal(string raw, string format = null)
{
DateTime final;
if(raw != null){
if( format != null){
string[] formats = new[] { format };
if (DateTime.TryParseExact(raw, formats, CultureInfo.InvariantCulture, DateTimeStyles.None, out final))
{
return final;
}
}
if (DateTime.TryParse(raw, out final))
{
return final;
}
}
return null;
}
这就是我使用上述方法的方法
DateTime? dt = dateTimeVal("2016-03-14 11:22:21.352", "yyyy-MM-dd HH:mm:ss.fff");
然而,dt给了我3/14/2016 11:22:21 AM
如何获取包含毫秒的值?
答案 0 :(得分:1)
DateTime final = new DateTime();
var test = DateTime.TryParseExact("2016-03-14 11:22:21.352", new string[] { "yyyy-MM-dd HH:mm:ss.fff" }, CultureInfo.InvariantCulture, DateTimeStyles.None, out final);
这适合我。
请注意你的fff
。如果你把它们写成大写,那么毫秒将被抑制。小写它们将被解析。
我唯一可以想象的是你使用.ToString
而没有提供任何格式。然后你会得到:
您确定在代码中编写了小写的提供格式吗?您是否也使用.ToString()
输出格式显示毫秒?
答案 1 :(得分:0)
如果您希望将DateTime
作为string
milisecond
,那么您可以使用以下代码;
string dateTime = dt.Value.ToString("yyyy-MM-dd HH:mm:ss.fff", CultureInfo.InvariantCulture);
希望这有帮助。
答案 2 :(得分:0)
DateTimeFormatInfo.CurrentInfo.FullDateTimePattern