I need to format the date into a specific string.
I used SimpleDateFormat class to format the date using the pattern “yyyy-MM-dd'T'HH:mm:ssZ” it returns current date as
“2013-01-04T15:51:45+0530” but I need as
“2013-01-04T15:51:45+05:30“.
Below is the coding used,
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()));
Output: formatted string: 2013-01-04T15:51:45+0530
I need the format as 2013-01-04T15:51:45+05:30 just adding the colon in between gmt time.
Because I’m working on Google calendar to insert an event, it accepts only the required format which I have mentioned.
Advertisement
Answer
You can use Joda Time instead. Its DateTimeFormat has a ZZ format attribute which does what you want.
Big advantage: unlike SimpleDateFormat, DateTimeFormatter is thread safe. Usage:
DateTimeFormatter fmt = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ssZZ")
.withLocale(Locale.ENGLISH);