mongo에 dateTime을 쿼리하려고한다고 가정 해보자. 시작과 종료 날짜를 나타내는 두 개의 C# 변수가 있습니다.IsoDate와 DateTime은 C#을 사용하는 MongoDB에서
1) {} {20.10.2011 0시 0분 0초 0시 0분 0초 2011년 10월 22일}
이제 BsonDateTime.Create (날짜 시간)은 날짜 시간 BSON로 변환
2) 또한 너무 :
1) 2011-10-20T00 : 00 : 00 MongoDB.Bson.BsonDateTime
2) 2011-10-22T00 : 00 : 00 MongoDB.Bson.BsonDateTime
는이것은 인 dateTi를 만드는 코드
DateTime dateTime;
bool parsed = DateTime.TryParse(_value, out dateTime);
if (!parsed)
throw new FormatException("Wrong format for a query param");
return BsonDateTime.Create(dateTime);
그런 다음 코드는 쿼리 빌드 :
private QueryComplete MakeQuery(string key, BsonValue value)
{
if (_separatorType == ">=")
return Query.GTE(key, value);
if (_separatorType == "<=")
return Query.LTE(key, value);
return Query.EQ(key, value);
}
과 내가 쿼리에서 같은 이상한 값을받을 수 있나요 : 음
"Sessions.End" : { "$gte" : ISODate("2011-10-19T21:00:00Z"), "$lte" : ISODate("2011-10-21T21:00:00Z") },
을 MES (_value는 문자열입니다) , 나는 구글 ISODate하지만 왜 이동 해야하는지 어떤 이유를 발견하지 못했습니다. 괜찮습니까?
당신은 당신이 개 C의 # 변수를 말하지만, 당신도 그들이 초기화하는 방법을 표시하지 않았거나 (뻔뻔 플러그 내 자신의 프로젝트, Noda Time는 많은 간단한이 ... 모두를한다) 그들은 유형입니다. 나는 그것이 사물의 핵심이라고 강력하게 의심하지만, 우리는 그 규범을 보지 않고는 말할 수 없다. 내 추측으로는 UTC 대신 * local * DateTime 값을 만들었다는 것입니다. –
@ 존 Skeet, dateTime 생성을위한 코드를 추가, UTC는 무엇입니까? –
내 대답보기 - UTC에 대한 설명은 링크를 클릭하십시오. 기본적으로 이것은 시간대 문제입니다 ... –