JAVA时间转为格林威治时间

 import java.text.ParseException; 
  
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Locale;




public class TimeTest {
public static String fromCalendar(final Calendar calendar) {
        Date date = calendar.getTime();
        String formatted = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss 'GMT'Z (z)", Locale.ENGLISH)


            .format(date);
        return formatted.substring(0, 22) + "" + formatted.substring(22);
    }
 
    /** Get current date and time formatted as ISO 8601 string. */
    public static String now() {
        return fromCalendar(GregorianCalendar.getInstance());
    }
 
    /** Transform ISO 8601 string to Calendar. */
    public static Calendar toCalendar(final String iso8601string)
            throws ParseException {
        Calendar calendar = GregorianCalendar.getInstance();
        String s = iso8601string.replace("Z", "+00:00");
        try {
            s = s.substring(0, 22) + s.substring(23);
        } catch (IndexOutOfBoundsException e) {
            throw new ParseException("Invalid length", 0);
        }
        Date date = new SimpleDateFormat("EEE MMM dd yyyy hh:mm:ss 'GMT'Z (z)", Locale.ENGLISH).parse(s);
        calendar.setTime(date);
        return calendar;
    }
    
    public void test(){


    }
 
    public static void main(String args[])throws Exception{
    String strTime=fromCalendar(GregorianCalendar.getInstance());
        System.out.println(strTime);
        Calendar can=toCalendar(strTime);
        
        System.out.println(can.getTime());
    }

}


输出结果:

Fri Aug 08 2014 01:13:45 GMT+0800 (CST)
Fri Aug 08 01:13:05 CST 2014

你可能感兴趣的:(JAVA时间转为格林威治时间)