gpt4 book ai didi

java - 有没有一种方法可以在获取以下预期的日期中添加月份

转载 作者:行者123 更新时间:2023-12-01 19:39:12 25 4
gpt4 key购买 nike

Joda Time 本身/或其他一些 API 中是否有一种机制或方法,我可以通过它来实现相同的目标。???请建议?

输入日期:2018-04-30

像这样使用 Joda Time 给出输出:2018-05-30

预计日期:2018-05-31

再次编辑想知道是否可以像这个意思那样说和做

if the input date is the last date(will use the algos shared) then fetch the last date of the next month and

else if input date is anything else then use plusMonths method

对吗?

String startDate = "2018-04-30";
DateTime startDateTime = new DateTime(startDate, DateTimeZone.UTC);

int repeatEvery = 1;
int numOfPayments = 2;
String endDate = startDateTime.plusMonths(repeatEvery * (numOfPayments-1)).toString();
System.out.println(endDate);

最佳答案

使用Java Time API,使用TemporalAdjuster获取一个月的最后一天非常简单,该API附带了一些已经定义的内容,例如TemporalAdjusters.lastDayOfMonth().

这是一个关于如何获取下个月的最后一天(基于今天)的简单示例。

LocalDate date = LocalDate.now()
.plus(1, ChronoUnit.MONTHS)
.with(TemporalAdjusters.lastDayOfMonth()));

我认为这相当冗长,难以理解。

将字符串解析为LocalDate。只需将 now() 替换为 parse() 即可,如下所示:

LocalDate.parse("2019-05-03", DateTimeFormatter.ISO_DATE);

使用:

import java.time.LocalDate;
import java.time.temporal.ChronoUnit;
import java.time.temporal.TemporalAdjusters;

这实际上已经是 an answer in the duplicate建议,只需要稍微搜索一下即可找到它。它具有一定的知名度!

关于java - 有没有一种方法可以在获取以下预期的日期中添加月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55967630/

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