我有一个应用程序,用户可以选择一个从1到12个月的预定义集,然后将其传递到一个字符串中。现在,我想将该字符串转换为LocalDate,但我不希望我的用户丢失已经保存在数据库中的数据。有没有办法将单数或两位数的数据转换为LocalDate?
例如:如果用户先前输入了"2",则需要将该数据更改为2022-02-01。如果用户先前输入了"10“,则这将更改为2022-10-01,依此类推。
我对格式本身很熟悉
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class LocalDateExample1_ISO_LOCAL_DATE {
public static void main(String[] args) {
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE;
String date = "2019-10-12";
LocalDate localDate = LocalDate.parse(date, formatter);
System.out.println(date);
System.out.println(localDate);
System.out.println(formatter.format(localDate));
}
}发布于 2022-11-01 13:10:45
I有一个应用程序,用户可以选择一个从1到12个月的预定义集,然后将其传递到一个字符串中。
您应该重新考虑这个不必要的int到string到int的转换。
无论如何,要创建一个新的LocalDate,并且指定月份的年份和日期,月份是一个参数(例如monthAsString):
var localDate = LocalDate.of(2022, Integer.parseInt(monthAsString), 1);若要更改现有LocalDate的月份,请执行以下操作:
var localDate = localDate.withMonth(Integer.parseInt(monthAsString));请注意,您需要检查
null
。
https://stackoverflow.com/questions/74276335
复制相似问题