0
Hindistan, Kanada, ABD için tarih ve saat alıyorum. Doğru saat ve tarih alıyorum, Ama üç ülke için aynı zaman dilimi (GMT +5: 30) alıyorum. İşteSaat dilimi düzgün çalışmıyor
India ------ Date IST.
Canada ------ Date PST.
USA ------ Date PST.
benim mantık
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);
olduğu gibi Aslında farklı zaman dilimlerini almalısınız Ben doğru değil
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
Beni nereye söyleyebilir dilimini tarih ve saati alıyorum Yanıldım?
Şimdiden teşekkürler.
Çıktınız, gösterdiğiniz kodla uyuşmuyor gibi görünüyor. Kodda, biçimlendiriciler 12 saat biçimini kullanır, ancak çıktı 24 saattir. Çıktının "Güncel saat" kelimesi bulunmuyor, yıl çok tuhaf bir şekilde yerleştiriliyor. Son üç dört satırlı blokun yürütüldüğü koddan net değildir (onlar için yöntem yoktur). Çalıştığınız kodu ve verilen çıktıyı gösterir misiniz? –
Tamam ama sorum şu, farklı saat dilimi nasıl elde edildi – Sanjeev
Gerçek kod ve gerçek çıktı olmadan nasıl cevap verebiliriz? –