繁体   English   中英

C#与mongodb DateTime转换

[英]C# with mongodb DateTime Convert

我想将"ISODate(\\"2014-11-13T18:43:33.868Z\\")"为c#datetime前2014-11-13 18:43:33 "ISODate(\\"2014-11-13T18:43:33.868Z\\")"来自MongoDB集合。

请帮忙。

从数据库中提取日期后,可以将其存储为BsonDateTime对象,然后按以下方式进行转换:

DateTime dt = bdt.ToUniversalTime();

并且您可能会发现此问题对进一步了解ToUniversalTime()工作方式很有用。

您可以将C#中的DateTime设置为UTC

var createDate = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Utc)

要么

dateTime = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc)

然后将类型DateTime插入mongodb中对我而言有效。

日期时间C#

插入mongodb相同的日期时间

如果我能清楚地理解,仅仅是因为它在您的字符串中写入了ISODate ,就不会使其成为ISO 8601格式。 "O""o"标准格式说明符符合ISO 8601格式,并且是"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK"自定义格式字符串DateTime 这与您的字符串格式不匹配。

如果您所有的字符串都具有这样的稳定​​格式,则可以使用带有字符串分隔符的自定义日期和时间格式 ,例如;

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);
}

如果要使用"2014-11-13 18:43:33"格式字符串化DateTime表示形式,则可以使用DateTime.ToString()方法,例如:

date.ToString("yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM