文章目录
1. 两个Date时间类型数值做对比
在Spring Boot中,你可以使用Java的java.util.Date类或java.time.LocalDateTime类来进行两个日期时间的对比。以下是两种常见的方法:
1、使用Date类:
import java.util.Date;
public class DateComparisonExample {
public static void main(String[] args) {
Date date1 = ... ; // 第一个日期时间
Date date2 = ... ; // 第二个日期时间
// 对比两个日期时间
int comparison = date1.compareTo(date2);
if (comparison < 0) {
System.out.println("date1 在 date2 之前");
} else if (comparison > 0) {
System.out.println("date1 在 date2 之后");
} else {
System.out.println("date1 和 date2 相同");
}
}
}
在上面的示例中,我们使用compareTo()方法对比了两个Date对象。compareTo()方法返回一个负整数、零或正整数,表示第一个日期时间是在、等于还是在第二个日期时间之后。
2、使用LocalDateTime类:
import java.time.LocalDateTime;
public class LocalDateTimeComparisonExample {
public static void main(String[] args) {
LocalDateTime dateTime1 = ... ; // 第一个日期时间
LocalDateTime dateTime2 = ... ; // 第二个日期时间
// 对比两个日期时间
int comparison = dateTime1.compareTo(dateTime2);
if (comparison < 0) {
System.out.println("dateTime1 在 dateTime2 之前");
} else if (comparison > 0) {
System.out.println("dateTime1 在 dateTime2 之后");
} else {
System.out.println("dateTime1 和 dateTime2 相同");
}
}
}
在上面的示例中,我们使用compareTo()方法对比了两个LocalDateTime对象。同样,compareTo()方法返回一个负整数、零或正整数,用于表示第一个日期时间是在、等于还是在第二个日期时间之后。
你可以根据自己的需要选择使用Date类或LocalDateTime类来进行日期时间的对比操作。
2. 字符串转Date
在Spring Boot中,你可以使用SimpleDateFormat类或者DateTimeFormatter类将字符串转换为java.util.Date类型的日期对象。以下是两种常见的方法:
1、使用SimpleDateFormat类:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConversionExample {
public static void main(String[] args) {
String dateString = "2023-07-28";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(dateString);
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
在上面的示例中,我们创建了一个SimpleDateFormat对象,指定了日期字符串的格式"yyyy-MM-dd"。使用parse()方法,我们将日期字符串解析为Date对象。
2、使用DateTimeFormatter类:
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class DateConversionExample {
public static void main(String[] args) {
String dateString = "2023-07-28";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
LocalDate localDate = LocalDate.parse(dateString, formatter);
Date date = java.sql.Date.valueOf(localDate);
System.out.println(date);
}
}
在上面的示例中,我们使用DateTimeFormatter和LocalDate将日期字符串解析为本地日期对象。然后,我们使用java.sql.Date类将本地日期转换为Date对象。
无论你选择哪种方法,都可以将字符串转换为Date对象。请根据你的需求选择合适的方法。
3. new Date()格式化字符串 年月日
在Spring Boot中,你可以使用java.util.Date类和java.text.SimpleDateFormat类来格式化日期为字符串。下面是一个示例:
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class DateFormattingExample {
public static void main(String[] args) {
Date currentDate = new Date();
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = dateFormat.format(currentDate);
System.out.println(formattedDate);
}
}
上述代码中,我们创建了一个SimpleDateFormat对象,并通过"yyyy-MM-dd"设置了日期的格式。
然后,使用dateFormat.format(currentDate)方法将currentDate转换为字符串,按照指定的格式进行格式化。
最后,formattedDate就是格式化后的年月日字符串。
你可以根据需要调整SimpleDateFormat对象的格式字符串,例如:
●"yyyy-MM-dd":年-月-日,例如:“2023-07-26”
●"yyyy/MM/dd":年/月/日,例如:“2023/07/26”
●"MM/dd/yyyy":月/日/年,例如:“07/26/2023”
●"dd.MM.yyyy":日.月.年,例如:“26.07.2023”
根据指定的格式化字符串,可以将Date对象格式化为相应的年月日字符串。
4. 两个date数据类型相差天数
在Spring Boot中,你可以使用java.time.LocalDate类来计算两个日期之间相差的天数。下面是一个示例:
1、 计算两个日期之间的天数差:
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
// 假设有两个日期
LocalDate date1 = LocalDate.of(2021, 10, 1);
LocalDate date2 = LocalDate.of(2021, 10, 5);
long days = ChronoUnit.DAYS.between(date1, date2);
// 计算相差的天数
上述代码使用ChronoUnit.DAYS.between()方法计算出date1和date2之间的天数差。它返回的是一个long类型的值。
在Spring Boot中,你可以使用java.util.Date类和java.util.Calendar类来计算两个日期之间相差的天数。下面是一个示例:
2、 计算两个日期之间的天数差:
import java.util.Date;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
// 假设有两个日期
Date date1 = // 第一个日期
Date date2 = // 第二个日期
long diffInMillies = Math.abs(date2.getTime() - date1.getTime());
long diff = TimeUnit.DAYS.convert(diffInMillies, TimeUnit.MILLISECONDS);
// 计算相差的天数
上述代码通过获取日期对象的时间戳,计算两个时间戳之间的毫秒数差异,并使用TimeUnit.DAYS.convert()方法将其转换为天数。 Math.abs()函数用于确保获取到的差值为正数。 注意:上述代码中的date1和`date2