2013-03-01 2 views
1

Joda-Time를 사용 Joda 타임 시간대, 나는 두 개의 타임 스탬프 (중 DateTime 또는 LocalDateTime) ... t1.isBefore(t2) 다음 ... 다른 사용자가 오류를 팝업 허용하는 경우내 응용 프로그램에서

말을 비교해야 비교 나는 2013-03-01T10:17:55.872는 (항상 미국/동부 -0500 또는 -0400 표준 오프셋)로

을 T1을 가지고 있지만, 내 T2는 사용자의 위치에 depedning 변경하고 내가 시간뿐만 아니라 오프셋받을 수 2013-03-01T14:48:09.000으로 T2를 말하고 오프셋은 -0800입니다.

'isBefore'를 사용하여이 두 가지를 어떻게 비교할 수 있습니까?

모든 의견을 환영합니다! 당신이 그 (것)들에게 모두 DateTime 같은 값이있는 경우 DateTimeAbstractInstant으로부터 상속으로

답변

4

는 글쎄, 당신은 단지, isBefore을 사용할 수 있어야합니다.

그러나 나는 평범한 Instant 값을 먼저 (toInstant을 통해) 변환하려고하고 싶습니다. 그런 식으로 그것은 당신이 걱정하지 마십시오 현지 날짜/시간; 당신은 그들이 나타내는 순간에 관심이 있습니다. (당신이 실제로 원하는 종류의 비교라고 가정합니다. 실제로 현지 날짜/시간을 비교하려면 LocalDateTime으로 변환하십시오!)

+0

't1'은 항상 LocalDateTime에 끝나고 변환해야합니다 표준 오프셋을 사용하는 dateTime까지 ... –

+0

@ user1609085 : 동부 표준시의 표준 오프셋 또는 관련 오프셋? DST 전환과 관련하여 지역 값이 모호하거나 잘못 될 수 있음을 명심하십시오. 어느 쪽이든, 당신은 기본적으로 시간에 관련 instants에 도착해야합니다 ... –

+0

인스턴트로 변환하고 그것은 나를 위해 일하고 ..! 고맙습니다. 적절한 오프셋을 얻으려면,'DateTimeZone.forID ("America/New_York")'처럼 Id (Hardcoded)를 사용할 수 있습니까? –