:あなたはGMT + 30分の時間帯に、あなたが別のものを指定しない限り、生きている場合
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
私の推測で...、あなたのフォーマッタはそう、あなたの現在のものを選択しますそれはGMTとして0時間を考慮し、あなたがGMT + 30分であるとして、それは
は、あなたが使用することができ、ユーザの現在の場所からタイムゾーンを取得するには... + 30分を出力します
TimeZone tz = TimeZone.getDefault();
System.out.println("TimeZone "+tz.getDisplayName(false, TimeZone.SHORT)+" Timezon id :: " +tz.getID());
n dateformatでタイムゾーンを設定できます。
それは「IST
」
のようなタイムゾーンはまた、あなたは、GMTがタイムゾーンのオフセットを見つけるために、次のコードを試すことができますが返されます:
public String getCurrentTimezoneOffset() {
TimeZone tz = TimeZone.getDefault();
Calendar cal = GregorianCalendar.getInstance(tz);
int offsetInMillis = tz.getOffset(cal.getTimeInMillis());
String offset = String.format("%02d:%02d", Math.abs(offsetInMillis/3600000), Math.abs((offsetInMillis/60000) % 60));
offset = "GMT"+(offsetInMillis >= 0 ? "+" : "-") + offset;
return offset;
}
それはのようなタイムゾーンを返します。GMT + 5時30あなたはすべてのデバイスで正確な時間を見つけることができる時間帯を使用することにより、この形式
..
これも参照してください:https://developer.android.com/reference/java/util/TimeZone.html
使用しているタイムゾーンに問題があります。あなたはどのように計算して、例を説明していますか? –
私はタイムゾーンを使用していません –
もちろん、タイムゾーンを使用しています。ここでは暗黙的にシステムのタイムゾーンをクラスSimpleDateFormatに隠しています(私は暗黙の設定を悪とみなします)。 'TimeZone.getDefault()'は何を出力しますか?また、変数 'millis'も表示して、それ以上の分析を支援してください。私が見るもう1つの問題は、わずか2つのシンボルSSの使用です。 SSSをミリ秒間使用する必要があります。 –