liujie
2023-10-20 1e790795f4e2c365f604ecc0fc1b290e3ff3c35f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.dsh.other.util;
 
import org.springframework.stereotype.Component;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
public class DateComparisonExample {
    public static void main(String[] args) {
        String stringValue = "2023-10-18 00:20:00 - 2023-10-18 00:21:00";
        Date startDate = parseDate("2023-10-18 00:19:00");
        Date endDate = parseDate("2023-10-18 00:21:00");
 
        boolean isBetween = isStringDateBetween(stringValue, startDate, endDate);
        System.out.println("字符串时间是否在两个 Date 类型之间?" + isBetween);
    }
 
    private static Date parseDate(String dateString) {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        try {
            return formatter.parse(dateString);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
 
    public static boolean isStringDateBetween(String stringValue, Date startDate, Date endDate) {
        String[] dateRange = stringValue.split(" - ");
        Date valueStartDate = parseDate(dateRange[0]);
        Date valueEndDate = parseDate(dateRange[1]);
 
        return (valueStartDate.after(startDate) || valueStartDate.equals(startDate))
                && (valueEndDate.before(endDate) || valueEndDate.equals(endDate));
    }
}