📅  最后修改于: 2023-12-03 14:40:00.911000             🧑  作者: Mango
在 Java 中获取当前时间的方法有很多种,本文将介绍三种常用的方法:Calendar.getInstance().toString()
、Calendar.getInstance()
和 LocalTime.now()
。
Calendar.getInstance().toString()
方法会返回一个表示当前日期和时间的字符串,形式如下:
java.util.GregorianCalendar[time=1622789206939,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2021,MONTH=5,WEEK_OF_YEAR=22,WEEK_OF_MONTH=5,DAY_OF_MONTH=4,DAY_OF_YEAR=154,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=9,HOUR_OF_DAY=9,MINUTE=0,SECOND=6,MILLISECOND=939,ZONE_OFFSET=28800000,DST_OFFSET=0]
其中包含了当前日期和时间的详细信息,如年、月、日、时、分、秒等,但比较复杂,一般不直接使用。
Calendar.getInstance()
方法返回一个当前日期和时间的 Calendar
对象:
Calendar cal = Calendar.getInstance();
可以通过 Calendar
对象获取当前时间的各种属性,例如:
int year = cal.get(Calendar.YEAR);
int month = cal.get(Calendar.MONTH) + 1; // 注意:Calendar.MONTH 的值范围是 0~11
int day = cal.get(Calendar.DAY_OF_MONTH);
int hour = cal.get(Calendar.HOUR_OF_DAY);
int minute = cal.get(Calendar.MINUTE);
int second = cal.get(Calendar.SECOND);
Java 8 引入了新的时间类库 java.time
,其中的 LocalTime
类可以用来获取当前时间:
LocalTime now = LocalTime.now();
同样可以通过 LocalTime
对象获取当前时间的各种属性,例如:
int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();
得到当前时间后可以进行各种操作,例如格式化输出、计算时间差等等,具体用法可以参考官方文档。
综上所述,获取当前时间的方法有很多种,选取合适的方法根据实际需求来。