java日期比较大小以及相互转换

方案一:日期字符串转成时间戳进行比较大小;

   String salesDate = "2023-02-20";
   String startDatePrice= "2023-02-21";
   //这里的"yyyy-MM-dd"格式必须与"2023-02-20"格式保持一致才能转换成功,要不然失败
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
   long sales = 0;
   long start = 0;
   try {
       sales = sdf.parse(salesDate).getTime();
       start = sdf.parse(startDatePrice).getTime();
   } catch (ParseException e) {
       e.printStackTrace();
   }
   //时间戳比较大小
    if (start <= sales) {
    .......
    }

//补充:日期相互转换
SimpleDateFormat sdf= new SimpleDateFormat("yyyy.MM.dd");
long start = 1111145551111;
//时间戳转字符串日期使用format
String s = sdf.format(start);

//字符串日期转时间戳用parse
 String salesDate = "2023-02-20";
 long sales = 0;
 sales = sdf.parse(salesDate ).getTime();

//字符串日期转时间Date用parse
 String salesDate = "2023-02-20";
 Date sales = null;
 sales = sdf.parse(salesDate );

//Date转换成自己需要的字符串时间格式
 Date date = new Date();
 String s = sdf.format(date );

方案二:字符串直接比较大小compareTo

String salesDate = "2023-02-20";
String startDatePrice= "2023-02-21";
int res=salesDate.compareTo(startDatePrice);
if(res<0){
//如果res小于0,说明salesDate小于startDatePrice
.........
}else if(res==0){
//说明2个相等
......
}else if(res>0){
//如果res大于0,说明salesDate大于startDatePrice
......
}

你可能感兴趣的:(java)