I want to output a timestamp with a PST offset (e.g., 2008-11-13T13:23:30-08:00). java.util.SimpleDateFormat does not seem to output timezone offsets in the hour:minute format, it excludes the colon. Is there a simple way to get that timestamp in Java?
// I want 2008-11-13T12:23:30-08:00
String timestamp = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").format(new Date());
System.out.println(timestamp);
// prints "2008-11-13T12:23:30-0800" See the difference?
Also, SimpleDateFormat cannot properly parse the example above. It throws a ParseException.
// Throws a ParseException
new SimpleDateFormat("yyyy-MM-dd'T'h:m:ssZ").parse("2008-11-13T13:23:30-08:00")
From stackoverflow
-
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'h:m:ss.SZ");Is not what exactly you need?
Cristian : No. If you try to parse the timestamp given above, it will throw ParseException.FoxyBOA : It works for "2008-11-13T13:23:30-0800". -
Check out the JODA time package. They make RFC 3339 date formatting a lot easier.
-
The problem is that Z produces the time zone offset without a colon (:) as the separator.
0 comments:
Post a Comment