저는 Java에 익숙하지 않아서 SimpleDateFormat
과 Calendar
을 조금 사용했습니다. 나는 Date-Object를 가지고 있으며 yyyy-MM-dd HH:mm:ss
과 같은 GMT datestring을 추출하려고합니다. 나는 독일에 살고 있으며 현재 GMT +0200입니다. 내 날짜 - 개체의 시간은 예를 들어 2011-07-18 13:00:00
입니다. 내가 지금 필요로하는 것은 2011-07-18 11:00:00
입니다. 내 시간대에 대한 오프셋은 자동으로 계산되어야합니다. GMT 날짜 시간 문자열 변환
private String toGmtString(Date date){
SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
TimeZone timeZone = TimeZone.getDefault();
Calendar cal = Calendar.getInstance(new SimpleTimeZone(timeZone.getOffset(date.getTime()), "GMT"));
sd.setCalendar(cal);
return sd.format(date);
}
가. 다른 장치에서는 오프셋이 올바르게 계산되지 않고 입력 한 날짜 - 개체에서 날짜와 시간을받습니다. 조언이나 조언을 해줄 수 있습니까? 내 기본 시간대를 얻지 못하는 것 같아요? 새 시간대를 발명하지 않기 때문에
나는 그것이 그렇게 쉽지는 않다는 것을 믿을 수 없지만, 물론 그것을 시도 할 것입니다. 잠시만 기다려주십시오 ... – Marco
Ok .. 테스트되었습니다 .. 나는 '2011-07-18 13 : 34 : 27'을 나타내는 날짜 개체를 사용했습니다. 기본 날짜 함수'.toGMTString()'을 사용하여 필요한 시간의 정확한 시점 인'18 Jul 2011 11:43:27 GMT '를받습니다. 자신의 함수를 사용하여'2011-07-18 13 : 43 : 27'이 내 문제였다. Jigar Joshin의 기능을 사용하면 1 시간 (유럽 서머 타임)이 누락 된'2011-07-18 12 : 43 : 27'을 받게됩니다. Eli Acherkans 기능을 사용하여 정확히 내가 원했던 (2011 년 7 월 11 일 11시 43 분 27 초) (유럽 여름을 포함하여 오프셋). – Marco
+1 –