gpt4 book ai didi

java - 生成特定时间之前的日期?

转载 作者:行者123 更新时间:2023-12-02 04:33:12 25 4
gpt4 key购买 nike

我的输入字符串是“mmyy”日期格式,我希望能够将该字符串替换为具有相同格式“mmyy”的随机日期,但年份必须在 2010 年之前。我该怎么办?有什么建议吗?我必须设置 SimpleDateFormat 吗?

示例:输入:“0914”,我的输出应该是随机的,并返回一个类似“0802”的字符串,其中“02”是2002年,即2010年之前。

谢谢

最佳答案

针对 Java 8 版本尝试以下代码片段:

// Generate random date
Random random = new Random();
LocalDate maxDate = LocalDate.of(2010, 1, 1);
long randomDay = random.nextInt((int) maxDate.toEpochDay());
LocalDate randomDate = LocalDate.ofEpochDay(randomDay);

// Convert to String using 'MMyy' pattern
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("MMyy");
String result = dtf.format(randomDate.atStartOfDay());

System.out.println(result);

注1:这应该会生成 1970 年 1 月 1 日到 2010 年 1 月 1 日(不包括)之间的随机日期 - 这是您想要的吗?

注2:日期格式是固定的,并且按照您所说的方式先验已知。所以不需要对输入字符串进行“替换”,只需使用result(除非我误解了?)

注3:请参阅my answermore general (and possibly duplicate) question 。您还可以在那里找到 Java 8 之前的想法。

关于java - 生成特定时间之前的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31172939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com