java - 通过将输入(日期)作为字符串对日期进行排序

标签 java string date

我有一个问题,我需要根据 date of birth. 对记录进行排序 我尝试使用 String.comapreTo但它只是按天排序。不是按年或月。

class Sortbydob {
    void sortString(String[] First_name, String[] Last_name, String[] Dob, int[] Percent) {
        String tempvaule;
        int temphold;
        for (int i = 0; i < 3; i++) {
            for (int j = i + 1; j < 3; j++) {
                if (Dob[i].compareTo(Dob[j]) > 0)
{
//Swapping
}


    public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            Sortbyname obj = new Sortbyname();
            String[] First_name = new String[3];
            String[] Last_name = new String[3];
            String[] Dob = new String[3];
            int[] Percent = new int[3];
            for (int i = 0; i < 3; i++) {
                System.out.println("Enter the First Name : ");
                First_name[i] = in.next();
                System.out.println("Enter the First Name : ");
                Last_name[i] = in.next();
                System.out.println("Enter the Dob in DD/MM/YYYY Format : ");
                Dob[i] = in.next();
                System.out.println("Enter the Percentage : ");
                Percent[i] = in.nextInt();

            }

所以我需要输入First and last name, DOB ,percentage并根据出生日期进行排序。挑战是我不能使用任何类型的数组列表或链接数组或 HashMap 或表或树等。 谁能帮我按基本逻辑进行排序?

最佳答案

您需要将日期从String转换为Date

您需要执行以下操作:

Date dobDate = new SimpleDateFormat("dd/mm/yyyy").parse(Dob[i]);

将日期转换为 Date 对象后,您可以使用内置的比较方法对它们进行排序:after() before() equals()

查看How to compare dates in Java?查看详情

关于java - 通过将输入(日期)作为字符串对日期进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58302528/

相关文章:

java - 以字符串格式获取日期哪个经济?每次都创建日期对象或通过日历对象使用日期实例

Pandas 将日期时间列向后移动一小时

java - 从文本文件中读取 200 万条记录并将它们添加到 arraylist

java - 将文本动态添加到 Android Studio 中的输入字段

java - Java 中的字符串操作

java - 获取列表的最小和最大字符串

arrays - 将 Excel 范围转换为 VBA 字符串

java - 使用 CompletableFuture 重试逻辑

java - 静态成员初始化取决于另一个类成员的初始化

java - GWT DateTimeFormat 反转时区值