gpt4 book ai didi

java - 解析没有点的短月份的日期

转载 作者:搜寻专家 更新时间:2023-10-30 19:44:43 26 4
gpt4 key购买 nike

我有一个代表法语语言环境中的日期的字符串:09-oct-08:

我需要解析那个字符串,所以我想出了这个 SimpleDateFormat :

String format2 = "dd-MMM-yy";

但是我对月份部分有疑问,结尾点似乎是预期的:

df2.format(new Date());

给我:

 28-oct.-09

现在让我理解 SimpleDateFormat 的最佳方法是什么 ("09-oct-08")?

完整代码:

String format2 = "dd-MMM-yy"; 
DateFormat df2 = new SimpleDateFormat(format2,Locale.FRENCH);
date = df2.parse("09-oct-08");

这给了我:java.text.ParseException: Unparseable date: "09-oct-08"

然后如果我尝试记录:

df2.format(new Date()); 

我得到:28-oct.-09

最佳答案

这似乎可行:

    DateFormatSymbols dfsFr = new DateFormatSymbols(Locale.FRENCH);
String[] oldMonths = dfsFr.getShortMonths();
String[] newMonths = new String[oldMonths.length];
for (int i = 0, len = oldMonths.length; i < len; ++ i) {
String oldMonth = oldMonths[i];

if (oldMonth.endsWith(".")) {
newMonths[i] = oldMonth.substring(0, oldMonths[i].length() - 1);
} else {
newMonths[i] = oldMonth;
}
}
dfsFr.setShortMonths(newMonths);
DateFormat dfFr = new SimpleDateFormat(
"dd-MMM-yy", dfsFr);

// English date parser for creating some test data.
DateFormat dfEn = new SimpleDateFormat(
"dd-MMM-yy", Locale.ENGLISH);
System.out.println(dfFr.format(dfEn.parse("10-Oct-09")));
System.out.println(dfFr.format(dfEn.parse("10-May-09")));
System.out.println(dfFr.format(dfEn.parse("10-Feb-09")));

编辑:看起来 St. Shadow 先于我。

关于java - 解析没有点的短月份的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1635681/

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