java 获取当前时间的三种方法
总结java里面关于获取当前时间的一些方法
system.currenttimemillis()
获取标准时间可以通过system.currenttimemillis()
方法获取,此方法不受时区影响,得到的结果是时间戳格式的。例如:
1543105352845
我们可以将时间戳转化成我们易于理解的格式
simpledateformat formatter= new simpledateformat("yyyy-mm-dd 'at' hh:mm:ss z"); date date = new date(system.currenttimemillis()); system.out.println(formatter.format(date));
则该时间戳对应的时间为:
2018-11-25 at 01:22:12 cet
值得注意的是,此方法会根据我们的系统时间返回当前值,因为世界各地的时区是不一样的。
java.util.date
在java中,获取当前日期最简单的方法之一就是直接实例化位于java包java.util的date类。
date date = new date(); // this object contains the current date value
上面获取到的日期也可以被format成我们需要的格式,例如:
simpledateformat formatter = new simpledateformat("dd-mm-yyyy hh:mm:ss"); system.out.println(formatter.format(date));
calendar api
calendar类,专门用于转换特定时刻和日历字段之间的日期和时间。
使用calendar 获取当前日期和时间非常简单:
calendar calendar = calendar.getinstance(); // gets current instance of the calendar
与date一样,我们也可以非常轻松地format这个日期成我们需要的格式
simpledateformat formatter = new simpledateformat("dd-mm-yyyy hh:mm:ss"); system.out.println(formatter.format(calendar.gettime()));
上面代码打印的结果如下:
25-11-2018 00:43:39
date/time api
java 8提供了一个全新的api,用以替换java.util.date和java.util.calendar。date / time api提供了多个类,帮助我们来完成工作,包括:
- localdate
- localtime
- localdatetime
- zoneddatetime
- localdate
localdate只是一个日期,没有时间。 这意味着我们只能获得当前日期,但没有一天的具体时间。
localdate date = localdate.now(); // gets the current date
我们可以format它
datetimeformatter formatter = datetimeformatter.ofpattern("dd-mm-yyyy"); system.out.println(date.format(formatter));
得到的结果只有年月日,例如:
25-11-2018
localtime
localtime与localdate相反,它只代表一个时间,没有日期。 这意味着我们只能获得当天的当前时间,而不是实际日期:
localtime time = localtime.now(); // gets the current time
可以按如下方式format
datetimeformatter formatter = datetimeformatter.ofpattern("hh:mm:ss"); system.out.println(time.format(formatter));
得到的结果类似如下:
00:55:58
localdatetime
最后一个是localdatetime,也是java中最常用的date / time类,代表前两个累的组合 - 即日期和时间的值:
localdatetime datetime = localdatetime.now(); // gets the current date and time
format的方式也一样
datetimeformatter formatter = datetimeformatter.ofpattern("dd-mm-yyyy hh:mm:ss"); system.out.println(datetime.format(formatter));
得到的日期结果类似于:
25-11-2018 00:57:20
总结
以上所述是小编给大家介绍的java 获取当前时间的三种方法,希望对大家有所帮助