首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否在特定时间之前生成日期?

问是否在特定时间之前生成日期?
EN

Stack Overflow用户
提问于 2015-07-02 06:47:06
回答 1查看 114关注 0票数 0

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

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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-07-02 07:33:15

在Java 8版本中尝试以下代码片段:

代码语言:javascript
复制
// 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 answer to a more general (and possibly duplicate) question。您还可以在那里找到Java 8之前的想法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31172939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档