2013-11-27 3 views
3

요컨대, 전달 된 날짜를 구문 분석하여 EF 쿼리에 사용할 날짜를 가져옵니다. 로컬에서 테스트 할 때 예상대로 작동하며 Azure에서 호스팅 될 때 올바른 날짜에서 1 일을 뺀 날짜로보고합니다. 내가 EF에서 다음 Azure에서 날짜 구문 분석이 예기치 않게 작동합니다.

var sDate = DateTime.Parse("11/27/2013").Date; 
var eDate = sDate.AddDays(1); 

사용하고

:

var res = from p in context.Table 
      where p.PlaceholderDate >= sDate && 
      p.PlaceholderDate < eDate 
      select p; 

나는 데이터와 끝까지

문자열 형태는 11/27/2013

내가 사용하고 날짜로 변환하는 것입니다 11/26/2013은 Azure에서 호스팅하고 내 로컬 컴퓨터에서는 11/27/2013입니다.

도움이 되었다면, 나의 시간대는 EST입니다.

도움을 주시면 감사하겠습니다.

+0

미국 문화권을 DateTime.Parse에 전달하면 어떤 차이가 있습니까? – geedubb

+0

하늘색 기계의 시간대는 어떻게됩니까? 그런 식으로 날짜 구문 분석을 시도 했습니까? DateTime.Parse ("11/27/2013", null, DateTimeStyles.AssumeLocal); ? – sleepwalker

+3

Windows Azure에서 기본 시간대는 UTC이기 때문입니다. –

답변

0

DateTimeOffset.Parse를 사용해볼 수 있습니까? 그런 다음 예상되는 오프셋을 전달하십시오 (+1 : 00을 필요한 오프셋만큼 변경하십시오).

좋아요?

// String with date and offset 
dateString = "05/01/2008 +1:00"; 
offsetDate = DateTimeOffset.Parse(dateString); 
Console.WriteLine(offsetDate.ToString()); 
관련 문제