指定日期与时间段生成随机时间

作者: dtgxly | 来源:发表于2017-12-21 09:47 被阅读81次

    参考文章:www.sharejs.com/codes/java/5918

    代码和注释如下:

    package com.example.demo;

    import java.util.Date;

    import java.text.SimpleDateFormat;

    public class Test {

        public static void main(String []args) {

            //设置时间格式

            SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy/MM/dd");

            SimpleDateFormat sdfTime = new SimpleDateFormat(" HH:mm:ss");

            //指定日期范围和时间范围

            long date =randomDate("2017/01/01","2017/12/01");

            long time =randomTime("09:00:00","17:00:00");

            String createtime = sdfDate.format(date) + sdfTime.format(time);

            System.out.println(createtime);

        }

        /**

        *生成随机日期

        *@param beginDate起始日期

        *@param endDate结束日期

        *@return

        */

        public static long randomDate(String beginDate, String endDate){

            try{

                SimpleDateFormat format =new SimpleDateFormat("yyyy/MM/dd");

                Date start = format.parse(beginDate);

                Date end = format.parse(endDate);

                if(start.getTime() >= end.getTime()){

                    return-1;

                }

                long date =random(start.getTime(),end.getTime());

                return date;

            }catch(Exception e) {

                //TODO Auto-generated catch block

                e.printStackTrace();

            }

            return-1;

        }

        /**

        *生成范围内的随机数

        *@param begin

        *@param end

        *@return

        */

        public static longrandom(longbegin,longend){

            long rtnn = begin + (long)(Math.random() * (end - begin));

            if(rtnn==begin || rtnn==end){

                return random(begin,end);

            }

            return rtnn;

        }

        /**

        * 生成随机时间

        *@param beginTime起始时间

        *@param endTime结束时间

        *@return

        */

        public static long randomTime(String beginTime, String endTime){

        try{

            SimpleDateFormat format =new SimpleDateFormat("HH:mm:ss");

            Date start = format.parse(beginTime);

            Date end = format.parse(endTime);

            if(start.getTime() >= end.getTime()){

                return-1;

            }

            long date =random(start.getTime(),end.getTime());

            return date;

        }catch(Exception e) {

            //TODO Auto-generated catch block

            e.printStackTrace();

        }

            return-1;

        }

    }

    相关文章

      网友评论

        本文标题:指定日期与时间段生成随机时间

        本文链接:https://www.haomeiwen.com/subject/urtgwxtx.html