Java日期处理:10个非常有用的函数
在Java编程中,日期处理是必不可少的一部分。处理日期可以用来计算日期差异,格式化日期和时间,同时在应用中经常需要权衡各种日期格式或格式化选项。这篇文章将介绍Java中非常有用的10个日期处理函数。
1. Date()构造函数:
使用Date类的无参构造函数可以创建一个包含当前日期和时间的对象。例如:
Date currentDate = new Date(); System.out.println(currentDate);
输出:
Fri Sep 25 14:36:17 CST 2020
2. SimpleDateFormat:
SimpleDateFormat类是Java中用于日期格式化的类。可以用它来转换日期和时间字符串。
Date currentDate = new Date();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString = dateFormat.format(currentDate);
System.out.println(dateString);
输出:
2020-09-25 14:36:17
3. Date.from()方法:
Date类中的from()方法可以将Instant(用于表示时间戳)转换为Date对象。
Instant instant = Instant.now(); Date date = Date.from(instant); System.out.println(date);
输出:
Fri Sep 25 14:36:17 CST 2020
4. Date.toInstant()方法:
Date类中的toInstant()方法可以将DateTime转换为Instant对象。
Date currentDate = new Date(); Instant instant = currentDate.toInstant(); System.out.println(instant);
输出:
2020-09-25T06:36:17.850Z
5. Calendar.getInstance()方法:
Calendar类是Java中非常有用的一个日期类。可以使用它来处理各种日历操作。使用getInstance()方法获取Calendar的实例。
Calendar calendar = Calendar.getInstance(); System.out.println(calendar);
输出:
java.util.GregorianCalendar[time=1601030189033,areFieldsSet=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=2020,MONTH=8,WEEK_OF_YEAR=39,WEEK_OF_MONTH=5,DAY_OF_MONTH=25,DAY_OF_YEAR=269,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=4,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=36,SECOND=29,MILLISECOND=33,ZONE_OFFSET=28800000,DST_OFFSET=0]
6. Calendar.get()方法:
Calendar类的get()方法可获取特定日期信息。例如,下面的代码将输出当前年份。
Calendar calendar = Calendar.getInstance(); int year = calendar.get(Calendar.YEAR); System.out.println(year);
输出:
2020
7. Calendar.add()方法:
Calendar类的add()方法可通过指定偏移量增加或减少时间。
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DATE, -7);
Date lastWeek = calendar.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String lastWeekString = dateFormat.format(lastWeek);
System.out.println(lastWeekString);
输出:
2020-09-18
8. Calendar.set()方法:
Calendar类的set()方法可用于设置特定日期信息。例如,下面的代码将设置日期为2020年10月14日。
Calendar calendar = Calendar.getInstance();
calendar.set(2020, 9, 14);
Date date = calendar.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String dateString = dateFormat.format(date);
System.out.println(dateString);
输出:
2020-10-14
9. LocalDate类:
LocalDate类是Java 8中的日期类,可用于处理日期操作,例如计算日期差异或处理ISO日期格式。
LocalDate today = LocalDate.now(); LocalDate nextWeek = today.plusWeeks(1); long daysUntilNextWeek = ChronoUnit.DAYS.between(today, nextWeek); System.out.println(daysUntilNextWeek);
输出:
7
10. Period类:
Java 8中的Period类用于计算日期间隔。例如,下面的代码将计算两个日期间的天数间隔。
LocalDate date1 = LocalDate.of(2020, 9, 18); LocalDate date2 = LocalDate.of(2020, 10, 14); Period period = Period.between(date1, date2); int days = period.getDays(); System.out.println(days);
输出:
26
总之,日期处理是开发中必不可少的一部分。Java中的日期类和函数可以帮助您更轻松地处理各种日期和时间任务。根据您的具体要求,可以选择合适的日期类和函数来处理日期和时间。
