2012-02-02 10 views
5

Mam problem z konwersją wybranych godzin i minut do różnych stref czasowych w krajach. Zakładam, że jeśli wybiorę 10 rano w Indiach, to chcę wiedzieć o 10 rano w Indiach, jaki będzie czas w USA/Nowym Jorku i Tokio. I na odwrót.Uzyskiwanie czasu różnych stref czasowych na wybór czasu z selektora czasu

Każda pomoc jest odczuwalny ... Dziękuję

+0

wiem, że mój problem nie jest konwersja aktualny czas, mój problem polega na przekształceniu wybrany czas – Richa

+0

im próby do 2 dni bt im nie uzyskanie wyniku – Richa

+0

Czy mogę wiedzieć, jak rozwiązać swój problem. Dostaję! różnica godzin w urządzeniach USA/newyork. Ale jeśli zmienimy strefę czasową na strefę czasową Newyourk, to działa. Tylko urządzenia w nowości w obliczu! różnica godzin dla mnie. Czy mogę wiedzieć, jak rozwiązać ten problem? – Nivedh

Odpowiedz

1

Spróbuj użyć Joda-Time library Sprawdź org.joda.time.DateTimeZone class

Here jest dokumentacja API do tego samego.

0

Nie bardzo wiadomo o rozwiązanie mam zamiar dostarczyć ale myślę, że można spróbować. GMT (Greenwich Mean Time) to standard. Myślę, że możesz zachować to jako bazę i obliczyć pożądany czas. Standard GMT jest również łatwo dostępny.

Na przykład: podczas instalacji systemu operacyjnego, takiego jak Windows XP lub Windows 7, wybieramy czas z rozwijanego menu. Chodzi mi o to, że utrzymując to jako bazę, możesz znaleźć różnicę między strefami czasowymi w NY-US i Tokio-Japonia lub odwrotnie, jak tego chcesz.

Mam nadzieję, że to pomoże.

3

proszę znaleźć poniżej sollution:

SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mma"); 
    TimeZone timezone = TimeZone.getDefault(); 
    TimeZone utcTimeZone = TimeZone.getTimeZone("UTC"); 
    Date d = new Date(); 
    sdf.setTimeZone(timezone); 
    String strtime = sdf.format(d); 
    Log.e("str time gmt ",strtime); 
    sdf.setTimeZone(utcTimeZone); 
    strtime = sdf.format(d); 
    Log.e("str time utc ",strtime); 

myślę, że to rozwiąże problem

+0

im uzyskanie czasu utc, jak na ur ans, a nie czas żądanej strefy, od wybranej godziny i min – Richa

2

Prawdopodobnie można użyć Joda Time - Java date and time API. Można uzyskać DateTimeZone zależności od Canonical ID określonym w czasach Joda,

DateTimeZone zone = DateTimeZone.forID("Asia/Kolkata"); 

Joda czas posiada kompletny list of Canonical ID, z którego można dostać TimeZone zależności od Canonical ID.

Tak więc, jeśli chcesz uzyskać czasu lokalnego w Nowym Jorku w tym samym momencie, należy wykonać następujące czynności

// get current moment in default time zone 
    DateTime dt = new DateTime(); 
    // translate to New York local time 
    DateTime dtNewYork = dt.withZone(DateTimeZone.forID("America/New_York")); 

Dla coraz większej pomysł można odnieść Changing TimeZone

+0

wiem, że nie jestem w stanie go zrozumieć !!!! – Richa

+1

Jaki problem napotykasz podczas korzystania z tego? –

1

można również uzyskać to stosując Tutaj bez zewnętrznego interfejsu API jest potrzebne

DateFormat format = new SimpleDateFormat("MMMMM d, yyyy, h:mm a"); 
TimeZone utc = TimeZone.getTimeZone("America/New_York"); 
System.out.println(utc.getID()); 
GregorianCalendar gc = new GregorianCalendar(utc); 
Date now = gc.getTime(); 
System.out.println(format.format(now)); 

widać więcej strefę czasową na to Link

Wyjście

Ameryka/New_York

29 grudnia 2012, 11:04

Jeśli nie wiem nazwę miasta następnie można również używać go jako nazwa strefy śledzić

DateFormat format = new SimpleDateFormat("MMMMM d, yyyy, h:mm a"); 
TimeZone cst = TimeZone.getTimeZone("US/Eastern"); 
System.out.println(cst.getID()); 
GregorianCalendar gc = new GregorianCalendar(cst); 
Date now = gc.getTime(); 
format.setTimeZone(cst); 
System.out.println(format.format(now)) 

Wyjście

US/Eastern

29 grudnia 2012, 00:38

Powiązane problemy