借助随机数,创建一个 * 从1995.1.1 00:00:00 * 到 1995.12.31 23:59:59 之间的随机日期

本文介绍了一个使用Java实现的日期随机生成器,它能够生成1995年范围内的任意随机日期,通过精确计算从1970年到1995年的毫秒数,考虑到闰年的影响,再从中选取一个随机时刻。
package day7;

import java.util.Date;
 
public class TestDate1 {

	public static void main(String[] args) {
		long s =1000;
		long min = s*60;
		long hour = min*60;
		long day = hour*24;
		long year =day*365;
		
		//设置新的起始年份的计数 = 365天*年份差+每隔4年会多出的一天(闰年)
		long start1995=(1995-1970)*year;
		long leapDay =(1995-1970)/4*day;
		start1995+=leapDay;
		//偏移起始时间点后,还多了8小时需要去掉
		start1995-=hour*8;
		
		//设置时间范围
		Date dstart = new Date(start1995);
		System.out.println("1995年第一天:"+start1995);
		long end1995 = start1995+year-1;
		Date dend = new Date(end1995);
		System.out.println("1995年最后一天:"+end1995);
		
		
		//取得这个时间范围内的随机数,随机数*一年减去1毫秒+范围的起始时间计数
		Long randomTime = (long)(Math.random()*(year-1)+start1995);
		Date random = new Date(randomTime);
		System.out.println("\n1995年这一年中的一个随机时间:"+random);
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值