gpt4 book ai didi

java - 解析20年后的日期

转载 作者:行者123 更新时间:2023-11-30 08:07:47 25 4
gpt4 key购买 nike

我有一个像“1512”这样的字符串。我需要将其转换为日期 2015-12-31 23:59:59。

在这种情况下,我使用 Java 日期格式解析。

我的代码:

private static final dateformat = new SimpleDateFormat("yyMM");

public static boolean checkDate(String date){
Date date = dateformat.parse(date);
}

它可以给出长达 20 年的日期。当日期为“3610”时,它给出的是 1936 年,而不是 2036 年(本世纪)。

最佳答案

我认为,您可以手动解析 String,然后创建 Date 对象。

假设:

public static void checkDate(String date) throws ParseException {
Calendar calendar = Calendar.getInstance();
int year = Integer.parseInt(date.substring(0, 2));
int month = Integer.parseInt(date.substring(2, 4));
calendar.setLenient(false);
int yearOfCentury = calendar.get(Calendar.YEAR);
int century = yearOfCentury - yearOfCentury % 100;
year = year + century;
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month-1);
calendar.set(Calendar.DATE, calendar.getActualMaximum(Calendar.DATE));
calendar.set(Calendar.HOUR_OF_DAY, 23);
calendar.set(Calendar.MINUTE, 59);
calendar.set(Calendar.SECOND, 59);
System.out.println("Date +" + calendar.getTime());
}

关于java - 解析20年后的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33520542/

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