Ich bekomme Datum und Uhrzeit für Indien, Kanada, USA. Ich bekomme Zeit und Datum richtig, Aber ich bekomme die gleiche Zeitzone (GMT +5: 30) für drei Länder. Eigentlich sollte ich verschiedene Zeitzonen erhalten wie fürZeitzone funktioniert nicht richtig
India ------ Date IST.
Canada ------ Date PST.
USA ------ Date PST.
Hier ist meine Logik ist
public void getDate(String timeZoneId) {
String selectedId = timeZoneId;
TimeZone timezone = TimeZone.getTimeZone(selectedId);
TimeZoneName = timezone.getDisplayName();
Log.v("TimeZoneName","TimeZoneName "+TimeZoneName);
int TimeZoneOffset = timezone.getRawOffset()
/(60 * 1000);
int hrs = TimeZoneOffset/60;
int mins = TimeZoneOffset % 60;
miliSeconds = miliSeconds + timezone.getRawOffset();
resultdate = new Date(miliSeconds);
dateInCountry=sdf.format(resultdate);
miliSeconds = 0;
}
private void getGMTTime() {
current = Calendar.getInstance(Locale.ENGLISH);
miliSeconds = current.getTimeInMillis();
TimeZone tzCurrent = current.getTimeZone();
int offset = tzCurrent.getRawOffset();
if (tzCurrent.inDaylightTime(new Date())) {
offset = offset + tzCurrent.getDSTSavings();
}
miliSeconds = miliSeconds - offset;
resultdate = new Date(miliSeconds);
System.out.println(sdf.format(resultdate));
}
getGMTTime();
getDate("Asia/Calcutta");
final SimpleDateFormat formatter = new SimpleDateFormat("MMM dd yyyy hh:mm:ss a ");
indTime.setText("Current Time " + String.valueOf(formatter.format(resultdate)) + TimeZoneName.substring(0,3));
getGMTTime();
getDate("Canada/Pacific");
final SimpleDateFormat canadaFormatter = new SimpleDateFormat("MMM dd yyyy hh:mm:ss a ",Locale.CANADA);
canadaTime.setText("Current Time " + String.valueOf(canadaFormatter.format(resultdate)) + TimeZoneName);
canadaTime.setTypeface(titleType);
getGMTTime();
getDate("US/Pacific");
final SimpleDateFormat usaFormatter = new SimpleDateFormat("MMM dd yyyy hh:mm:ss a ", Locale.US);
usaTime.setText("Current Time " + String.valueOf(usaFormatter.format(resultdate)) + TimeZoneName);
Ich bin immer Datum und Uhrzeit korrekt, aber nicht die Zeitzone
Ind Mar 19 13:28:40 GMT+05:30 2016
Canada XXX XX XX:XX:XX GMT+05:30 2016
USA XXX XX XX:XX:XX GMT+05:30 2016
Sie mir sagen, wo Ich habe mich geirrt?
Vielen Dank im Voraus.
Es scheint, dass Ihre Ausgabe nicht dem Code entspricht, den Sie angezeigt haben. Im Code verwenden die Formatierer das 12-Stunden-Format, aber die Ausgabe erfolgt im 24-Stunden-Format. Die Ausgabe enthält keine Worte "Aktuelle Zeit", das Jahr ist sehr seltsam platziert. Es ist unklar, aus dem Code, wo die letzten drei Vier-Zeilen-Blöcke ausgeführt werden (keine Methode für sie). Können Sie den genauen Code, den Sie ausführen, und die angegebene Ausgabe anzeigen? –
Ok, aber meine Frage war, wie man verschiedene Zeitzone – Sanjeev
bekommen Wie können wir es ohne den echten Code und die reale Ausgabe beantworten? –