微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用c#driver从mongo collection获取DateTime

我有以下对象:

public class QueueItem
{
    public long _id { get; set; }
    public SiteMapRequestState State { get; set; }
    public int WorkerId { get; set; }
    public DateTime QueuedTime { get; set; }
    public DateTime StartWorkTime { get; set; }
}

当我将对象保存到mongo时,日期显示为右(DateTime字段包含我插入的正确日期).然而,当我拉这个物体时,我会得到不同的时间(-3小时).

例如:
我使用StartWorkTime = 6/26/2012 10:00:00 AM保存对象,然后从集合中获取对象StartWorkTime等于6/26/2012 7:00:00 AM.
这使得处理时间的计算错误.

我正在使用最新的c#驱动程序(1.4.2.4500)并在同一台机器上运行代码和mongo服务器.

有什么可以导致差异?

谢谢!

解决方法:

挖了一下我发现这个帖子:
http://alexmg.com/post/2011/09/30/DateTime-precision-with-MongoDB-and-the-C-Driver.aspx

http://www.mongodb.org/display/DOCS/CSharp+Driver+Serialization+Tutorial#CSharpDriverSerializationTutorial-DateTimeSerializationOptions

我需要使用[BsonDateTimeOptions(Kind = DateTimeKind.Local)]属性标记DateTime属性

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐