Converting date from UTC to EST in Java?

后端 未结 4 1955
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-01 06:14

I\'m trying to convert a long timestamp that is UTC to Eastern Standard Time and am totally lost. Any hints would be great!

Time format should be : 11/4/03 8:14 PM

4条回答
  •  独厮守ぢ
    2021-01-01 07:07

    Yesterday occasionally I wrote the following method that can help you:

    private Date shiftTimeZone(Date date, TimeZone sourceTimeZone, TimeZone targetTimeZone) {
        Calendar sourceCalendar = Calendar.getInstance();
        sourceCalendar.setTime(date);
        sourceCalendar.setTimeZone(sourceTimeZone);
    
        Calendar targetCalendar = Calendar.getInstance();
        for (int field : new int[] {Calendar.YEAR, Calendar.MONTH, Calendar.DAY_OF_MONTH, Calendar.HOUR, Calendar.MINUTE, Calendar.SECOND, Calendar.MILLISECOND}) {
            targetCalendar.set(field, sourceCalendar.get(field));
        }
        targetCalendar.setTimeZone(targetTimeZone);
    
        return targetCalendar.getTime();
    }
    

    Now you just have to format the date. Use SimpleDateFormat for this. Here is the example:

    DateFormat format = new SimpleDateFormat("dd/MM/yy hh:mm a");
    format.format(date);
    

提交回复
热议问题