Document

生成两个日期之间的随机数

生成两个日期之间的随机数

话不多说
上代码!

package com.Mxhlin.demo;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Calendar;
import java.util.Date;
import java.util.Random;

/**
 * @author Mxhlin
 * @Email fuhua277@163.com
 * @Date 2022/09/01/8:46
 * @Version
 * @Description   生成两个日期之间的随机数
 */
public class RandomDate {
    public static void main(String[] args) throws ParseException {
        RandomDate randomDate = new RandomDate();
        // randomDate.test();
        // randomDate.RandomTest();
        randomDate.RandomTest2();

    }
        /**
        * @Description: 实现两个日期之间可以随机产生
        * @Param: []
        * @return: void
        * @Author: Mxhlin
        * @Date: 2022/9/1
        */
        public void RandomTest(){
            // 定义一个日期
            long a = LocalDateTime.of(2022,2,2,0,0,0).toInstant(ZoneOffset.of("+8")).toEpochMilli();
            // 定义一个现在的日期
            long l = System.currentTimeMillis();
            // 调用随机类
            for (int i = 0; i < 10; i++) {
                Random random = new Random();
                long l1 = random.nextLong(a, l);
                System.out.printf("%tF %<tT %n",l1);
            }

        }

        /**
         * @Description: 实现两个日期之间可以随机产生
         * @Param: []
         * @return: void
         * @Author: Mxhlin
         * @Date: 2022/9/1
         */
        public void RandomTest2() throws ParseException {
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            long time = simpleDateFormat.parse("2022-1-1 0:0:0").getTime();//这里的异常是因为怕字符串不匹配  抛出即可

            LocalDateTime time1 = LocalDateTime.now();
            long l = time1.toInstant(ZoneOffset.of("+8")).toEpochMilli();



            for (int i = 0; i < 10; i++) {
                long l1 = time + Math.round(Math.random() * (l - time));
                System.out.println(l1);
                System.out.printf("%tF %<tT %n" , l1);
            }
        }


        public  void test() throws ParseException {
            // 使用LocalDateTime 实现以long返回值的 日期
            long a = LocalDateTime.of(2022,2,2,0,0,0).toInstant(ZoneOffset.of("+8")).toEpochMilli();
            // 使用Date 实现以long返回值的 日期
            long date = new Date().getTime();
            // 使用SimpleDateFormat 实现以long返回值的 日期
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            long time = simpleDateFormat.parse("2002-4-2 12:00:00").getTime();
            // 使用Calendar 实现以long返回值的 日期
            Calendar c = Calendar.getInstance();
            c.set(2002,1,1 ,6,0,0);
            long timeInMillis = c.getTimeInMillis();



            // 结束日期
            LocalDateTime tdt = LocalDateTime.now();
            long l = tdt.toInstant(ZoneOffset.of("+8")).toEpochMilli();
            Date date1 = new Date();
            long time1 = date1.getTime();

            long l1 = System.currentTimeMillis();

            Calendar d = Calendar.getInstance();
            long timeInMillis1 = d.getTimeInMillis();
            
        }

    }

运行结果
在这里插入图片描述

posted @   一蓑烟雨任平生。。  阅读(134)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
Document
点击右上角即可分享
微信分享提示