gpt4 book ai didi

java - 如何让 DateFormat 猜想世纪?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:52 25 4
gpt4 key购买 nike

我正在尝试将“dd-MM-yy”格式的 String 解析为 Date 对象。问题是它试图猜测日期的世纪。

当从 01 到 31 指定时,年份被解释为 2000 年代(21 世纪),32 t0 99 被认为是 1900 年代(20 世纪)。

SimpleDateFormat fm =new SimpleDateFormat("dd-MM-yy");
String datestr="21-11-31";
try {
Date date= fm.parse(datestr);
System.out.println(date);
} catch (ParseException e) {
}

谁能帮帮我?我怎么能明确的说我只是在21世纪干活。我并没有完全尝试寻找诸如操纵字符串或根据条件移动日期之类的技巧。

最佳答案

您可以使用 set2DigitYearStart() 更改它用于解释 2 位数据输入的世纪方法。

SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yy");
String aDate = "03/17/40";
Calendar cal = Calendar.getInstance();
cal.clear();
cal.set(Calendar.YEAR, 2000);
dateFormat.set2DigitYearStart(cal.getTime());
System.out.println(dateFormat.get2DigitYearStart());
System.out.println(dateFormat.parse(aDate));

将于 2040 年 3 月 17 日打印。

关于java - 如何让 DateFormat 猜想世纪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10732297/

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