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