📜  Calendar.getInstance().toString() 和 Calendar.getInstance() 和 LocalTime.now() (1)

📅  最后修改于: 2023-12-03 14:40:00.911000             🧑  作者: Mango

Java 中获取当前时间的方法

在 Java 中获取当前时间的方法有很多种,本文将介绍三种常用的方法:Calendar.getInstance().toString()Calendar.getInstance()LocalTime.now()

Calendar.getInstance().toString()

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.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);
LocalTime.now()

Java 8 引入了新的时间类库 java.time,其中的 LocalTime 类可以用来获取当前时间:

LocalTime now = LocalTime.now();

同样可以通过 LocalTime 对象获取当前时间的各种属性,例如:

int hour = now.getHour();
int minute = now.getMinute();
int second = now.getSecond();

得到当前时间后可以进行各种操作,例如格式化输出、计算时间差等等,具体用法可以参考官方文档。

综上所述,获取当前时间的方法有很多种,选取合适的方法根据实际需求来。