Skip to content

Instantly share code, notes, and snippets.

@anirudh83
Created November 23, 2011 10:10
Show Gist options
  • Save anirudh83/1388333 to your computer and use it in GitHub Desktop.
Save anirudh83/1388333 to your computer and use it in GitHub Desktop.
DATE UTIL
//Convert date in one time zone to other time zone
public static Date convertTimeZone(Date date,String timeZoneFrom,String timeZoneTo){
Date utcDate = convertDateFromUserTimeZoneToUTC(date,timeZoneFrom);
TimeZone timeZone = TimeZone.getTimeZone(timeZoneTo);
return changeTimeZoneOfUTCDate(utcDate,timeZone);
}
//convert a date in one time zone to UTC
public static Date convertDateFromUserTimeZoneToUTC(Date userdate,String usertimeZoneId){
TimeZone userTimeZone = TimeZone.getTimeZone(usertimeZoneId);
return new Date(userdate.getTime() - userTimeZone.getRawOffset());
}
// Changes a date in UTC to another timezone
private static Date changeTimeZoneOfUTCDate(Date utcDate, TimeZone zone) {
Calendar first = Calendar.getInstance(zone);
first.setTimeInMillis(utcDate.getTime());
Calendar output = Calendar.getInstance();
output.set(Calendar.DAY_OF_MONTH, first.get(Calendar.DAY_OF_MONTH));
output.set(Calendar.MONTH, first.get(Calendar.MONTH));
output.set(Calendar.YEAR, first.get(Calendar.YEAR));
output.set(Calendar.HOUR_OF_DAY, first.get(Calendar.HOUR_OF_DAY));
output.set(Calendar.MINUTE, first.get(Calendar.MINUTE));
output.set(Calendar.SECOND, first.get(Calendar.SECOND));
output.set(Calendar.MILLISECOND, first.get(Calendar.MILLISECOND));
return output.getTime();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment