我想将"ISODate(\"2014-11-13T18:43:33.868Z\")"
转换为c#datetime ex 2014-11-13 18:43:33
。
从MongoDB集合中获取值"ISODate(\"2014-11-13T18:43:33.868Z\")"
。
请帮助。
答案 0 :(得分:1)
当您从数据库中提取日期时,可以将日期存储为BsonDateTime对象,然后按如下所示进行转换:
DateTime dt = bdt.ToUniversalTime();
您可能会发现this question有助于详细了解ToUniversalTime()
的工作原理。
答案 1 :(得分:1)
如果我清楚地理解,只是因为它在你的字符串中写了ISODate
,那就不会使它成为ISO 8601格式。 "O"
or "o"
standard format specifier符合ISO 8601格式,"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK"
为DateTime
自定义格式字符串。这与你的字符串格式不符。
如果你的所有字符串都有这样的稳定格式,你可以使用custom date and time formats和文字字符串分隔符一样;
string s = "ISODate(\"2014-11-13T18:43:33.868Z\")";
string format = "'ISODate(\"'yyyy-MM-dd'T'HH:mm:ss.fff'Z\")'";
DateTime date;
if(DateTime.TryParseExact(s, format, CultureInfo.InvariantCulture,
DateTimeStyles.None, out date))
{
Console.WriteLine (date);
}
如果您希望使用DateTime
格式对"2014-11-13 18:43:33"
的字符串进行字符串表示,则可以使用DateTime.ToString()
方法;
date.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);
答案 2 :(得分:1)