I wanted to convert this value as 2013-07-10T14:52:49
2013-07-10T02:52:49+12:00 ≠ 2013-07-10T14:52:49 at UTC
2013-07-10T02:52:49+12:00 = 2013-06-09T14:52:49 at UTC (which is obtained by subtracting 12:00 hours of the offset from 2013-07-10T02:52:49).
Demo:
import java.time.LocalDateTime;
import java.time.OffsetDateTime;
import java.time.ZoneOffset;
class Main {
public static void main(String[] args) {
ZoneOffset zoneOffset = ZoneOffset.of("+12:00");
OffsetDateTime odtGiven = OffsetDateTime.of(LocalDateTime.of(2013, 7, 10, 2, 52, 49), zoneOffset);
System.out.println(odtGiven);
OffsetDateTime odtUtc = odtGiven.withOffsetSameInstant(ZoneOffset.UTC);
System.out.println(odtUtc);
System.out.println(odtUtc.toLocalDateTime());
}
}
Output:
2013-07-10T02:52:49+12:00
2013-07-09T14:52:49Z
2013-07-09T14:52:49
Learn about the modern Date-Time API from Trail: Date Time.