時刻の書式設定と調整は、プログラミングにおいて常に私の最大の敵であり、わかっていないAndroid/Javaの問題があります。私は、UTCでフォーマットされたサーバーからタイムスタンプを取得します(2016-06-17T18:30:00-07:00の例です)。今度は、この時間はユーザーのローカル時刻にフォーマットする必要があります。 PSTは11:30 AMと表示されるはずですが)これまでに何を試しても午前1時または午後6時30分(私は間違ったことをしていることを知っていますので、何が分からないのか分かりません)。したがって、この時点で私は1:30を取得していますISOストリングからのJoda DateTimeの書式設定に関する問題
public static DateTime convertISOStringToDate(String inputString) {
//setup the ISO Date Formatter with GMT/UTC format
DateTimeFormatter formatter = ISODateTimeFormat.dateTimeParser()
.withLocale(Locale.US)
.withZone(DateTimeZone.forOffsetHours(0));
DateTime dateTime = formatter.parseDateTime(inputString);
//now convert the datetime object to a local date time object
DateTimeFormatter localFormatter = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
.withZone(DateTimeZone.getDefault());
String localString = localFormatter.print(dateTime);
DateTime localDateTime = localFormatter.parseDateTime(localString);
return localDateTime;
を行うので、私は、私は、変換プロセスのどこかでそれをめちゃくちゃにしています知っているが、私はそれを把握することはできません。私はGoogleにしようとしてきました私はそれらを試しても動作しないようにISODateTimeFormatパーサを使用することはあまり見つかっていません。