The database has data in UTC and when I try to get data
java.util.Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("UTC"));
java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME);
cal.setTime(ts);
Is there anything wrong with this?
From stackoverflow
-
Your DateFormat instance is most likely displaying the value in local time. When displaying your value, give this a try:
java.util.Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("UTC")); java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME); cal.setTime(ts); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss z"); sdf.setTimeZone(TimeZone.getTimeZone("UTC")); System.out.println(cal.getTime());EDIT: to your comment:
What if I use GMT, would that be an issue in SimpleDateFormat
SimpleDateFormat can use general timezones (GMT +/- n), RFC822, and text ("if they have names" as the JavaDoc states - see this post for info on the names).
kal : What if I use GMT, would that be an issue in SimpleDateFormatakf : see my edits in the post. -
java.util.Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone("UTC")); java.sql.Timestamp ts = resultSet.getTimestamp(PUBLISH_TIME, cal);This should do the trick!
0 comments:
Post a Comment