ObjectId与DateTime的互相转换

时间:2021-04-15 05:21:47

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

ObjectId转DateTime

        /// <summary>
/// objectid转化时间
/// </summary>
/// <param name="objectid"></param>
/// <returns></returns>
public DateTime objectid2date(string objectid)
{
var _str = objectid.Substring(, );//提取时间字段 4e7020cb
var intspan= Int64.Parse(_str, System.Globalization.NumberStyles.HexNumber);//16进制转换10进制
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(, , )); // 当地时区
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, , , );
return objid.ToString();
}