ObjectId与DateTime的互相转换

s会用mongdb中经常会需要用到通过“_id”去检查数据,筛选数据,但是想根据具体时间的id每次都需要做一下转换,这样搜索起来就很简单了。

ObjectId转DateTime

        /// <summary>
        /// objectid转化时间
        /// </summary>
        /// <param name="objectid"></param>
        /// <returns></returns>
        public DateTime objectid2date(string objectid)
        { 
            var _str = objectid.Substring(0, 8);//提取时间字段 4e7020cb
            var intspan= Int64.Parse(_str, System.Globalization.NumberStyles.HexNumber);//16进制转换10进制
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
            DateTime dt = startTime.AddSeconds(intspan);
            return dt;
        }

DateTime转换ObjectId

         /// <summary>
        /// 时间转化为objectid
        /// </summary>
        /// <param name="date"></param>
        /// <returns></returns>
        public string date2objectid(DateTime date)
        {
            ObjectId objid = new ObjectId(date, 0, 0, 0);
            return objid.ToString();
        }
原文地址:https://www.cnblogs.com/loyung/p/7094037.html