Java日期操作函数的大全介绍
Java日期操作函数是Java编程中一个非常重要的内容,它用来处理和操作日期和时间。在Java中,日期和时间有很多表示形式,比如时间戳、日期、时间、时区等等。本文将介绍Java日期操作函数的大全,让你学会如何使用同来操作日期和时间。
1. Java中的日期表示方式
Java中的日期有如下几种表示方式:
1)字符串形式(如:"2020-07-12")
2)Calendar类
3)Date类
4)LocalDate类
5)LocalDateTime类
6)Instant类
其中,Calendar类和Date类在Java 8之前广泛使用,但它们有一些缺陷,比如线程不安全、月份从0开始等。Java 8提供了新的日期和时间API,即java.time包,其中包含了LocalDate、LocalDateTime、Instant等类,这些类解决了旧API的缺陷,是Java中推荐使用的日期和时间类。
下面,我们将介绍Java中日期操作函数。
2. Java日期操作函数
2.1. 获取当前日期时间
Java中获取当前日期时间的函数是:
Date date = new Date();
System.out.println(date);
2.2. 获取当前时间戳
Java中获取当前时间戳的函数是:
long timestamp = System.currentTimeMillis();
System.out.println(timestamp);
2.3. 将字符串转换成日期
Java中将字符串转换成日期的函数是:
String str = "2020-07-12";
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = format.parse(str);
System.out.println(date);
2.4. 将日期转换成字符串
Java中将日期转换成字符串的函数是:
Date date = new Date();
DateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String str = format.format(date);
System.out.println(str);
2.5. 获取指定日期的年、月、日、时、分、秒
Java中获取指定日期的年、月、日、时、分、秒的函数是:
Date date = new Date();
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
System.out.println(year + "-" + month + "-" + day + " " + hour + ":" + minute + ":" + second);
2.6. 获取指定日期加上/减去指定天数/月数/年数后的日期
Java中获取指定日期加上/减去指定天数/月数/年数后的日期的函数是:
// 加上/减去指定天数
long timestamp = System.currentTimeMillis();
date.setTime(timestamp + 10 * 24 * 60 * 60 * 1000);
System.out.println(date);
// 加上/减去指定月数
calendar.add(Calendar.MONTH, 3);
System.out.println(calendar.getTime());
// 加上/减去指定年数
calendar.add(Calendar.YEAR, 2);
System.out.println(calendar.getTime());
2.7. 判断两个日期是否相等/是否在同一天
Java中判断两个日期是否相等/是否在同一天的函数是:
// 判断两个日期是否相等
boolean isEqual = date1.equals(date2);
System.out.println(isEqual);
// 判断两个日期是否在同一天
boolean isSameDay = DateUtils.isSameDay(date1, date2);
System.out.println(isSameDay);
2.8. 获取两个日期相差的天数/毫秒数
Java中获取两个日期相差的天数/毫秒数的函数是:
long diffDays = TimeUnit.DAYS.convert(diffMillis, TimeUnit.MILLISECONDS);
System.out.println(diffDays);
long diffMillis = Math.abs(date1.getTime() - date2.getTime());
System.out.println(diffMillis);
2.9. 获取指定日期所在月份的第一天/最后一天
Java中获取指定日期所在月份的第一天/最后一天的函数是:
// 获取指定日期所在月份的第一天
calendar.set(Calendar.DAY_OF_MONTH, 1);
System.out.println(calendar.getTime());
// 获取指定日期所在月份的最后一天
calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
System.out.println(calendar.getTime());
2.10. 时区处理
Java中时区的处理函数是:
ZoneId zone = ZoneId.of("Asia/Shanghai");
LocalDateTime ldt = LocalDateTime.now(zone);
System.out.println(ldt);
3. 总结
以上就是Java日期操作函数的大全介绍。Java中时间结构比较复杂,因此需要多加练习来熟悉使用。在实际开发中,根据实际需求选择不同类型的日期结构,可以有效地减少日期操作的疏漏和错误。
