牛骨文教育服务平台(让学习变的简单)
博文笔记

Java 时区之间时间转换

创建时间:2016-02-26 投稿人: 浏览次数:5041

SimpleDateFormat foo = new SimpleDateFormat(“yyyy-MM-dd hh:mm:ss”);
System.out.println(“foo:” + foo.format(new Date()));

    Calendar gc = GregorianCalendar.getInstance();
    System.out.println("gc.getTime():" + gc.getTime());
    System.out.println("gc.getTimeInMillis():" + new Date(gc.getTimeInMillis()));

    // 当前系统默认时区的时间:
    Calendar calendar = new GregorianCalendar();
    System.out.print("时区:" + calendar.getTimeZone().getID() + "  ");
    System.out.println("时间:" + calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE));
    // 美国洛杉矶时区
    TimeZone tz = TimeZone.getTimeZone("America/Los_Angeles");
    // 时区转换
    calendar.setTimeZone(tz);
    System.out.print("时区:" + calendar.getTimeZone().getID() + "  ");
    System.out.println("时间:" + calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE));
    Date time = new Date();

    // 1、取得本地时间:
    java.util.Calendar cal = java.util.Calendar.getInstance();

    // 2、取得时间偏移量:
    int zoneOffset = cal.get(java.util.Calendar.ZONE_OFFSET);

    // 3、取得夏令时差:
    int dstOffset = cal.get(java.util.Calendar.DST_OFFSET);

    // 4、从本地时间里扣除这些差量,即可以取得UTC时间:
    cal.add(java.util.Calendar.MILLISECOND, -(zoneOffset + dstOffset));

    // 之后调用cal.get(int x)或cal.getTimeInMillis()方法所取得的时间即是UTC标准时间。
    System.out.println("UTC:" + new Date(cal.getTimeInMillis()));

    Calendar calendar1 = Calendar.getInstance();
    TimeZone tztz = TimeZone.getTimeZone("GMT");
    calendar1.setTimeZone(tztz);
    System.out.println(calendar.getTime());
    System.out.println(calendar.getTimeInMillis());

    // SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"T"HH:mm:ss"Z"");
    // df.setTimeZone(TimeZone.getTimeZone("UTC"));
    // System.out.println(df.parse("2014-08-23T09:20:05Z").toString());

    SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd"T"HH:mm:ss.SSS"Z"");
    Date t = new Date();
    System.out.println(df1.format(t));
    System.out.println(df1.format(df1.parse("2014-08-27T18:02:59.676Z")) + "***********");
    df1.setTimeZone(TimeZone.getTimeZone("UTC"));
    System.out.println(df1.format(t));
    System.out.println("-----------");
    System.out.println(df1.format(df1.parse("2014-08-27T18:02:59.676Z")) + "***********");
    System.out.println("2014-08-27T18:02:59.676Z");
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。