JAVA編程練習-日期格式化-獲取隨機日期並按時間比較

問題:
準備一個長度是9的日期數組
使用1970年-2000年之間的隨機日期初始化該數組
按照這些日期的時間進行升序排序
比如 1988-1-21 12:33:22 就會排在 1978-4-21 19:07:23 前面,因爲它的時間更小,雖然日期更大

        Date[] dates = new Date[9];
        int yearstart = 1970;
        int yearend = 2000;
        System.out.println("得到的隨機日期數組:");
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        for (int i = 0;i<dates.length;i++){
            dates[i] = getDateRandom(yearstart,yearend);
            System.out.print(sdf.format(dates[i])+"  ");
            //用來計算分成3組,一組3個數據
            if (i%3 == 2){
                System.out.println();
            }
        }
public static Date getDateRandom(int start ,int end){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy");
        try {
            Date sdate = simpleDateFormat.parse(String.valueOf(start));
            //應該是2001年,減去1毫秒,也就是2000年的最後一刻,即2000-12-31 23:59:59
            Date edate = simpleDateFormat.parse(String.valueOf(end+1));
            long timerandom = (long) (Math.random()*((edate.getTime()-1)-sdate.getTime()));
            return new Date(timerandom);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
       //使用選擇排序法 正序排列
        System.out.println("排序之後的日期數組:");
        SimpleDateFormat sdformat = new SimpleDateFormat("HHmmss");
        for (int i=0;i<dates.length-1;i++){
            for (int j = i+1;j<dates.length;j++){
            //把日期轉換成時分秒格式,來判斷大小
                String datei = sdformat.format(dates[i]);
                String datej = sdformat.format(dates[j]);
                int lTime = Integer.parseInt(datei);
                int JTime = Integer.parseInt(datej);
                if (lTime>JTime){
                    Date temp  = dates[j];
                    dates[j] = dates[i];
                    dates[i] = temp;
                }
            }
        }
        for (int i = 0;i<dates.length;i++){
            System.out.print(sdf.format(dates[i])+" ");
            if (i%3 == 2){
                System.out.println();
            }
        }

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章