-
运用Calendar获取时间。
Calendar calendar = Calendar.getInstance(); //获取当前日期实例 (2020-06-18 星期四,22:27:22 872) TimeZone timezone = calendar.getTimeZone(); //获取时区 Date dates = calendar.getTime(); //获取java.util.Date calendar.setTime(dates); //java.util.Date设置值calendar int year =calendar.get(Calendar.YEAR); //获取年份 int month=calendar.get(Calendar.MONTH); //获取月份 [0 代表1月,1代表2月,2代表3月,以此类推...] int date =calendar.get(Calendar.DATE); //获取当前日期 int date2=calendar.get(Calendar.DAY_OF_MONTH); //获取当前日期是这个月的第几天 int dayOfWeek=calendar.get(Calendar.DAY_OF_WEEK); //获取星期几 [1代表星期天,2代表星期一,3代表星期二,以此类推...] int hour =calendar.get(Calendar.HOUR_OF_DAY); //获取小时(24小时制) int hour2=calendar.get(Calendar.HOUR); //获取小时(12小时制,AM,PM) int AMORPM = calendar.get(Calendar.AM_PM); //获取上午还是下午 [0代表上午,1代表下午] int minute=calendar.get(Calendar.MINUTE); //获取分钟 int second=calendar.get(Calendar.SECOND); //获取秒 int milliSecond=calendar.get(Calendar.MILLISECOND); //获取毫秒 System.out.println("timezone:"+timezone.getDisplayName()+"\n"+ "dates:"+calendar.getTime()+"\n"+"year:"+year+"\n"+"month:"+month+"\n"+ "date:"+date+"\n"+"date2:"+date2+"\n"+"dayOfweek:"+dayOfWeek+"\n"+ "hour:"+hour+"\n"+"hour2:"+hour2+"\n"+"AMORPM:"+AMORPM+"\n"+"minute:"+minute+"\n"+ "second:"+second+"\n"+"milliSecond:"+milliSecond+"\n");
图片显示:
- 输出结果:
timezone:中国标准时间
dates:Thu Jun 18 22:27:22 CST 2020
year:2020
month:5 //特别注意0代表一月,那么5代表六月
date:18
date2:18
dayOfweek:5 //特别注意日历星期天为第一天,那么星期四为第五天,所以我当前时间为星期四,值为5
hour:22
hour2:10 //表示10点
AMORPM:1 //0 表示上午,1表示下午,结合上面的hour2,那么就是下午的10点,也就是22点。
minute:27
second:22
milliSecond:872
- calendar 比较和加减
- 运行结果
除了Calendar.DATE可以加减以外,其他的域常量都可以加减,你可以试试Calendar.HOUR,Calendar.MINUTE,Calendar.SECOND等等。
Calender加减法是把日期转成大整数的毫秒值,然后运用大整数加减法。Calendar获取日期格式为calendar.get(Calendar.xxx)。你可以看成是一个map<Integer,Integer>类型。其中Calendar类名.xxx是获取静态常量的域,即是key,然后通过object.get(key)方式获得的。