JAVA编程练习-05-日期-获取随机日期并按时间比较

准备一个长度是9的日期数组
使用1970年-2000年之间的随机日期初始化该数组
按照这些日期的 时间 进行升序排序
package 日期;
import java.util.*;
import java.text.SimpleDateFormat;
import java.text.ParseException;

public class TestDate {
	public static void main(String[] args) {
		

		int yearStart = 1970;
		int yearEnd = 2000;
		Date[] ds = new Date[9];
		for (int i = 0; i < ds.length; i++) {
            ds[i] = getRandomDate(yearStart, yearEnd);
        }
		System.out.println("得到的随机日期数组:");
        for (int i = 0; i < ds.length; i++) {
            System.out.print(toString(ds[i],"yyyy-MM-dd HH:mm:ss")+"\t");
            if(2==i%3)
                System.out.println();
        }
        //选择法排序
        for (int j = 0; j < ds.length-1; j++) {
            for (int i = j+1; i < ds.length; i++) {
                String strTimeI = toString(ds[i],"HHmmss");
                String strTimeJ = toString(ds[j],"HHmmss");
               
 
                int lTimeI = Integer.parseInt(strTimeI);
                int lTimeJ = Integer.parseInt(strTimeJ);
 
                if( lTimeI<lTimeJ  ){  
                    Date temp = ds[j];
                    ds[j] = ds[i];
                    ds[i] = temp;
                }
            }
        }      
         
        System.out.println("排序后的随机日期数组:");
        for (int i = 0; i < ds.length; i++) {
            System.out.print(toString(ds[i],"yyyy-MM-dd HH:mm:ss")+"\t");
            if(2==i%3)
                System.out.println();
        }
         
    }
        
		
	
	

	public static String toString(Date d, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        return sdf.format(d);
    }
	
	public static Date getRandomDate(int yearStart,int yearEnd){
		
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy");
		
		try{
		Date t1= sdf.parse(String.valueOf(yearStart));
		Date t2= sdf.parse(String.valueOf(yearEnd + 1));
		//System.out.println("1995年第一天:\n"+t1);
		//System.out.println("1995年最后一天:\n"+t2);
		
		long randomtimes = (long)(Math.random()*(t2.getTime()-t1.getTime())+t1.getTime());
		
		return new Date(randomtimes);
	
		//System.out.println("1995年中随机一天:\n"+t3);
		}catch(ParseException e){
			e.printStackTrace();
		}
		return null;
		
		
		
	}
		
		
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值