时间
Date 类
- Date d = new Date();获取当前时间对象,可直接打印
- Date d1 = new Date(毫秒值);将毫秒差值转换为时间对象
- d.getTime();获取当前时间的毫秒值
SingleDateFormate 类
- SingleDateFormate sdf = new SingleDateFormate("yyyy/MM/dd-HH:mm:ss");自定义格式对象
- String s = sdf.format(毫秒值或Date对象);将毫秒转换为自定义格式时间,返回时间字符串
- Date d2 = sdf.parse(字符串);将时间字符串解析返回时间对象
Calendar 接口
- Calendar c = Calendar.getInstance()// 获取当前时间对象,canlendar是接口才用自己的静态方法生成对象
- c.get(int n)//获取各个时间属性,1和YEAR代表获取年
- c.set(int n, value)// 某个值
- c.set(n,n,n,n)// 年月日时分秒可一起设定
- c.add(Calendar.YEARS, 1)//设定年加1
时间转换
毫秒值和Date 对象
- 毫秒值转Date:Date d = new Date(毫秒值);
- Date转毫秒值:d.getTime();
毫秒值和Calendar
- 毫秒值转Calendar, c.setTimeInMillis(long millis);
- Calendar转毫秒值, c.getTimeInMillis();
Date 和 Calendar
- date 转 Calendar:c.setTime(Date a)
- Calendar 转 Date:c.getTime();
判断闰年的方法
System.out.println("請輸入");
Scanner input = new Scanner(System.in);
int year = input.nextInt();
Calendar c = Calendar.getInstance();
c.set(year,1,28);
c.add(Calendar.DAY_OF_MONTH, 1); //闰年二月有29天
if (c.get(Calendar.DATE) == 1) {
return true;
} else {
return false;
}
jdk8新时间
时间日期类:LocalDateTime
日期类:LocalDate
时间类:LocalTime
方法:三个类的方法很相似,只是单词不一样
// 获取当前日期
LocalDate date = LocalDate.now();
// 获取日
int day = date.getDayOfMonth();
// 获取星期
DayOfWeek week = date.getDayOfWeek();
// 格式化输出
String newDate = date.format(DateTimeFormatter.ofPattern("yyyy年MM月dd日"));
// 自定义时间
LocalDate date1 = LocalDate.parse("1994-04-25");
LocalDate date3 = LocalDate.parse("1995-05-29");
// 判断日期是否相等
boolean b = date.equals(date1);
// 判读当前年是否为闰年
boolean b1 = date.isLeapYear();
// 获取偏移日期
LocalDate date2 = date1.plusDays(6);