java 随机生成自定义范围的时间

package com.wyx.hibernate;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

import org.hibernate.Session;

import com.wyx.hibernate.utils.HibernateUtils;

public class InitData {
	public static void main(String[] args) {
		addStudent();
		addwuye();
	}
	
	public static void addStudent(){
		for(int i = 1; i <= 10; i++){
			Group group = new Group();
			group.setName("班级"+i);
			for(int j = 1; j<= 10; j++){
				
				User user = new User();
				
				//调用生成随机时间的方法
				user.setCreateTime(randomDate("2008-8-8","2011-3-28"));
				user.setName("班级"+i+"的学生" + j );
				user.setGroup(group);
				Session session = HibernateUtils.getSession();
				session.beginTransaction();
				try {
					session.save(user);
					session.getTransaction().commit();
				} catch (Exception e) {
					e.printStackTrace();
					session.getTransaction().rollback();
				}finally{
					HibernateUtils.closeSession(session);
				}	
			}
			
		}
		
	}
	
	public static void addwuye(){
		for(int i = 1; i <= 10; i++){
				User user = new User();
				user.setCreateTime(new Date());
				user.setName("无业游民"+i);
				Session session = HibernateUtils.getSession();
				session.beginTransaction();
				try {
					session.save(user);
					session.getTransaction().commit();
				} catch (Exception e) {
					e.printStackTrace();
					session.getTransaction().rollback();
				}finally{
					HibernateUtils.closeSession(session);
				}	
		}
			
	}
	 //生成随机时间的方法
	  private static Date randomDate(String beginDate, String endDate) {   
	         try {   
	             SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");   
	             Date start = format.parse(beginDate);// 构造开始日期   
	             Date end = format.parse(endDate);// 构造结束日期   
	             // getTime()表示返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。   
	             if (start.getTime() >= end.getTime()) {   
	                 return null;   
	             }   
	             long date = random(start.getTime(), end.getTime());   
	   
	             return new Date(date);   
	         } catch (Exception e) {   
	             e.printStackTrace();   
	         }   
	         return null;   
	     }   
	   
	     private static long random(long begin, long end) {   
	         long rtn = begin + (long) (Math.random() * (end - begin));   
	         // 如果返回的是开始时间和结束时间,则递归调用本函数查找随机值   
	         if (rtn == begin || rtn == end) {   
	             return random(begin, end);   
	         }   
	         return rtn;   
	     } 
		

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值