生成两个日期之间的随机数
生成两个日期之间的随机数
话不多说
上代码!
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();
}
}
运行结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端