/ / Android: prevádzajte aktuálny dátum a čas na milióny a iné časové pásmo - Android, čas, časové pásmo

Android: previesť aktuálny dátum a čas na milise a iné časové pásma - android, čas, časové pásmo

Skutočný dátum a čas musím previesť na milióny a na iné časové pásmo GMT + 3 (moje časové pásmo je GMT-2). Používam tento kód, ale vracia mi to čas, ale do svojho časového pásma .... prečo?

Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT-3"));
cal.get(Calendar.DAY_OF_MONTH);
cal.get(Calendar.MONTH);
cal.get(Calendar.YEAR);
cal.get(Calendar.HOUR_OF_DAY);
cal.get(Calendar.MINUTE);
cal.get(Calendar.SECOND);
cal.get(Calendar.MILLISECOND);
long timez = cal.getTime().getTime();

odpovede:

0 pre odpoveď č. 1

Musíte použiť SimpleDateFormat. Kalendár vždy používa predvolené nakonfigurované časové pásmo na vašom počítači. Tu je príklad o tom, ako dosiahnuť túto funkciu s SimpleDateFormat.


0 pre odpoveď č. 2
Date date = new Date();
DateFormat firstFormat = new SimpleDateFormat();
DateFormat secondFormat = new SimpleDateFormat();
TimeZone firstTime = TimeZone.getTimeZone(args[0]);
TimeZone secondTime = TimeZone.getTimeZone(args[1]);
firstFormat.setTimeZone(firstTime);
secondFormat.setTimeZone(secondTime);
System.out.println("-->"+args[0]+": " + firstFormat.format(date));
System.out.println("-->"+args[1]+": " + secondFormat.format(date));
}

kde arg [0] a arg1 sú dve časové zóny. Odovzdajte to LINK


-1 pre odpoveď č. 3

Metóda getTime () sa vracia v rovnakom čase. nemá žiadny vzťah k časovému pásmu.