关于java获取当前时间 和 时间的毫秒值

获取当前时间的方法

 

//第一种方法

long totalMilliSeconds = System.currentTimeMillis();

 

//第二种方法

(常用) Date date = new Date();

            date.getTime();

获取时间的毫秒值

//第一种方法
//获取00:00:00时的毫秒数
String s= DateFormatUtils.format(new Date(), "yyyy-MM-dd 00:00:00"); 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义时间格式
Date date=sdf.parse(s);//将String字符串类型转换为date时间类型
Long zero=date.getTime();//获取date的值

 

//第二种方法

long totalMilliSeconds = System.currentTimeMillis();

 

通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候或许你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如getTime()。为了获取这个时间戳,很多人也喜欢使用new Date().getTime()去获取,咋一看没什么问题,但其实没这个必要。

     其实看一下java的源码就知道了:

  public Date()
  {
    this(System.currentTimeMillis());
  }

已经很明显了,new Date()所做的事情其实就是调用了System.currentTimeMillis()。如果仅仅是需要或者毫秒数,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上会高一点。况且很多人喜欢在同一个方法里面多次使用new Date(),通常性能就是这样一点一点地消耗掉,这里其实可以声明一个引用。

//获得系统的时间,单位为毫秒,转换为妙

        long totalMilliSeconds = System.currentTimeMillis();
        long totalSeconds = totalMilliSeconds / 1000;
         
        //求出现在的秒
        long currentSecond = totalSeconds % 60;
         
        //求出现在的分
        long totalMinutes = totalSeconds / 60;
        long currentMinute = totalMinutes % 60;
         
        //求出现在的小时
        long totalHour = totalMinutes / 60;
        long currentHour = totalHour % 24;
         
        //显示时间
        System.out.println("总毫秒为: " + totalMilliSeconds);
        System.out.println(currentHour + ":" + currentMinute + ":" + currentSecond + " GMT");

你可能感兴趣的:(后端,java)