前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >随机生成某一段的时间

随机生成某一段的时间

作者头像
高大北
发布2022-09-28 13:23:39
3120
发布2022-09-28 13:23:39
举报
package com.dbgs.blct.utils;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;

public class RandomDateUtil {
    public static void main(String[] args) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        List<String> dates = randomDateString("2022-08-30 00:00:00", "2022-08-30 23:59:59", 1, -1);
//        dates.forEach(t -> System.out.println(sdf.format(t)));
        System.out.println(dates.get(0));
    }

    /**
     * 生成size数量的随机时间,位于[start,end)范围内 时间倒序排列
     * @param start 开始时间
     * @param end 结束时间
     * @param size 生成时间个数
     * @param order 结果排序:-1时间倒叙,0 乱序,1时间正序
     * @return List<Date>
     * @throws Exception
     */
    public static List<Date> randomDateDate(String start, String end, int size, int order) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date startTime = sdf.parse(start);
        Date endTime = sdf.parse(end);
        Random random = new Random();
        List<Date> dates = random.longs(size, startTime.getTime(), endTime.getTime()).mapToObj(t -> new Date(t)).collect(Collectors.toList());
        dates.sort((t1, t2) -> {
            return t1.compareTo(t2) * order;
        });
        return dates;
    }

    public static List<String> randomDateString(String start, String end, int size, int order) throws Exception {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date startTime = sdf.parse(start);
        Date endTime = sdf.parse(end);
        Random random = new Random();
        List<Date> dates = random.longs(size, startTime.getTime(), endTime.getTime()).mapToObj(t -> new Date(t)).collect(Collectors.toList());
        dates.sort((t1, t2) -> {
            return t1.compareTo(t2) * order;
        });
        ArrayList<String> strings = new ArrayList<>();
        List<String> collect = dates.stream().map(obj -> sdf.format(obj)).collect(Collectors.toList());
        return collect;
    }

//    public static List<Date> randomDate(String start, String end) throws Exception {
//        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//        Date startTime = sdf.parse(start);
//        Date endTime = sdf.parse(end);
//        Random random = new Random();
//       String dates = random.longs( startTime.getTime(), endTime.getTime()).mapToObj(t -> new Date(t));
//        return dates;
//    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-09-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档