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