随机输出某一年的任意日期

太懒了,这才开始写第一篇。但不写也不行了,做练习一看答案都会,回头就忘了,就当为了加强点印象,另外也好让自己的workspace看着干净点…

很多代码都是沾的,末尾会带一点自己的感想,疑惑,有兴趣可以留言交流。

随机输出某一年的任意日期

		long second = 1000;
    	long minute = 60*second;
    	long hour = minute * 60;
    	long day = hour*24;
    	long year = day * 365;
    	long year1995Start  = (1995-1970) * year;
    	long leapDay = (1995-1970)/4*day; //每隔4年有一个润日
    	year1995Start+=leapDay;
    	long eightHour = hour*8; //8个小时的毫秒数,因为从0毫秒对应的是1970.1.1 08:00:00
    	year1995Start-=eightHour;
    	
    	Date dStart = new Date(year1995Start);
    	System.out.println("1995年第一天:"+dStart);
    	long year1995End = year1995Start + year - 1;
    	Date dEnd = new Date(year1995End);
    	System.out.println("1995年最后一天:"+dEnd);
    	
    	long randomTime = (long) (Math.random()*(year-1) + year1995Start);
    	Date dRandom = new Date(randomTime);
    	System.out.println("1995年这一年中的一个随机时间:" + dRandom);

感觉在随机那一块,倒数第三行, 那个 “year-1” 里的减1没什么用啊。 Math.random()不就是[0,1)不包括1么。

猜你喜欢

转载自blog.csdn.net/weixin_44474832/article/details/88930917