사용자 지정 형식으로 변환 할 오프셋이있는 입력 날짜 문자열이 있습니다. 문제는 Joda DateTimeFormatter
을 사용하여 변환을 수행하면 결과 문자열이 현지 시간대에있는 것입니다. 어떻게 문자열을 변환합니까? 그렇지만 시간대는 그대로 두십시오. 이것은 내가 지금 무엇을 가지고오프셋이있는 날짜 문자열을 오프셋을 무시하는 사용자 지정 형식으로 변환
: 그것은 자정이되면
input: 2017-03-20T00:00:00 | output: Mar 20, 2017 12:0 AM
input: 2017-03-23T15:12:24-04:00 | output: Mar 23, 2017 12:12 PM
, 나는 어떤 오프셋 (예 1)을 얻을 수 없음 음주 :
public String getFormattedDate(String dateTimestamp) {
DateTimeFormatter fmt = DateTimeFormat.forPattern("MMM d, yyyy h:m a");
return fmt.print(new DateTime(dateTimestamp));
//return new LocalDateTime(dateTimestamp).toString();
}
이 내가 얻을 것입니다. 그래서 이것은 잘 작동합니다. 그러나 두 번째 예에서 오프셋 (표준 시간대는 EST 임)을 얻습니다. 그리고 내 코드는 그것을 현지 시간 (PST)으로 변환합니다. 어떻게 이것을 피할 수 있습니까?
감사합니다.
감사합니다,하지만 LocalDateTime는를 슬로우'''IllegalArgumentException''' 내가 오프셋 문자열을 통과 할 때. 나는 그것을 시도했지만 위의 코드에서 주석 처리했다. 다른 방법으로 사용할 수 없다면? – drunkenfist
시간대를 신경 쓰지 않으면 입력 문자열을 부분 문자열로 바꿔서 LocalzateTime으로 구문 분석하기 전에 입력 문자열을 제거하십시오. – httPants
감사합니다.하지만 두 번 나누어야하므로 입력 문자열을 분할하지 않았습니다. 한 번 "T"; 다른 하나는 "-"입니다. 이게 효과가 있긴하지만 휴고의 대답을 받아 들일거야. – drunkenfist