Potrzebuję sformatować datę do określonego ciągu.Android Format daty ze strefą czasową
użyłem SimpleDateFormat
klasę formatować datę za pomocą wzorca „yyyy-MM-dd'T'HH:mm:ssZ
” to zwraca bieżącą datę jako
„2013-01-04T15:51:45+0530
”, ale muszę jak
„2013-01-04T15:51:45+05:30
”.
Poniżej jest kodowanie stosowane
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ", Locale.ENGLISH);
Log.e(C.TAG, "formatted string: "+sdf.format(c.getTime()));
Wyjście: sformatowany ciąg: 2013-01-04T15:51:45+0530
muszę formatu jak 2013-01-04T15:51:45+05:30
wystarczy dodać dwukropek w między czasie GMT.
Ponieważ pracuję nad kalendarzem Google, aby wstawić wydarzenie, akceptuje on tylko wymagany format, o którym wspomniałem.
Nie sądzę, że można z prostym formatem. Musisz więc ręcznie wstawić ':'. [Java 7 wprowadziła znacznik "X"] (http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html), który ma więcej opcji formatowania niż 'Z', ale nie jest dostępny na Androida (jeszcze?). – assylias
Jeśli ręczne formatowanie jest zadaniem do wykonania (w odniesieniu do powyższego komentarza), możesz wyszukać ostatnie '+', a następnie dodać ':' po 2 indeksach. –
@KazekageGaara Może to być również '-' ... – assylias