生成随机日期

时间:2016-02-29 18:34:57

标签: java date object for-loop random

我是一名新手Java学生。我在学校只学习了几个月的编程,所以我目前很擅长这一点,而且常常感到卡住我的作业。

无论如何,我对作业有疑问。我一直在环顾四周,并没有找到我需要的答案,所以我希望能在这里找到一些帮助。非常感谢。我的任务是这样的:"编写一个创建Date对象和Random对象的程序。使用Random对象将循环中Date对象的经过时间设置为0100000000000之间的10个长值,并显示随机长度和相应的日期和时间。"

我们刚刚介绍了类java.util.Randomjava.util.Date来处理这个赋值,并且应该使用它们来创建所需的Date和Random对象。

我真正知道如何处理此任务的唯一方法是如何启动代码:

public class RanDate {

public static void main(String[] args) {

如何创建循环:

for (int i = 0; i <= 10; i++) {

如果我的问题太模糊,或者我没有正确地提出问题,我很抱歉。这是我第一次在这个网站上寻求帮助。提前感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

这个怎么样?

Random rnd = new Random();
Date date = new Date(Math.abs(System.currentTimeMillis() - rnd.nextLong()));
System.out.println(date.toString());

只需用[{1}}减去实际时间System.currentTimeMillis()和随机生成的长数字。最好将它全部包装到rnd.nextLong()

答案 1 :(得分:2)

试试这段代码。 我认为赋值要求long为date对象中的值,但我不是shure。

    public static void main(String[] args) {
        Long max =0L;
        Long min =100000000000L;
        //Use the date format that best suites you
        SimpleDateFormat spf = new SimpleDateFormat("dd/MM/yyyy");

        for (int i = 0; i <= 10; i++) {
            Random r = new Random();
            Long randomLong=(r.nextLong() % (max - min)) + min;
            Date dt =new Date(randomLong);
            System.out.println("Generated Long:"+ randomLong);
            System.out.println("Date generated from long: "+spf.format(dt));


        }
    }

示例输出:

  

Generated Long:68625461379

     

从长时间生成的日期:05/03/1972