date获取的时间与实际时间不相同,为什么?

来源:3-6 使用 Date 和 SimpleDateFormat 类表示时间

qq_極D兂窷_0

2017-08-04 20:51

用date获取时间但与实际的时间相差很大,怎么回事?

http://img.mukewang.com/59846d660001641303840651.jpg

写回答 关注

4回答

  • Cabbo
    2017-08-06 15:14:56

    因为你获取到的是UTC 美国时间 比中国的晚了八小时。你看最后显示的时区不是CST

  • qq_極D兂窷_0
    2017-08-05 11:24:33

    代码:

    import java.text.ParseException;

    import java.text.SimpleDateFormat;

    import java.util.Date;


    public class HelloWorld {

        

        public static void main(String[] args) throws ParseException {

            

    // 使用format()方法将日期转换为指定格式的文本

    SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");

    SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            

    // 创建Date对象,表示当前时间

            Date now=new Date();

            

            // 调用format()方法,将日期转换为字符串并输出

    System.out.println( sdf1.format(now)                         );

    System.out.println(sdf2.format(now));

    System.out.println(sdf3.format(now));


    // 使用parse()方法将文本转换为日期

    String d = "2014-6-1 21:05:36";

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

            

             // 调用parse()方法,将字符串转换为日期

    Date date =sdf.parse(d);

            

    System.out.println(date);

    }

    }


  • 奋进的猿猿
    2017-08-04 21:46:06

    代码发来看看

  • 棒雄
    2017-08-04 21:44:38

    用Calendar.getInstance 取时间时带上时区参数试试

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409787 学习 · 4340 问题

查看课程

相似问题