我有一个字符串格式的日期:2017-05-10。 我需要在2017年5月10日转换这个字符串。我该怎么办? 我可以使用哪个库? 我试过这个但没有效果
DateFormat df = new SimpleDateFormat("dd-MM-yyyy",Locale.ITALIAN);
Calendar cal = Calendar.getInstance();
cal.setTime(df.parse(data));
答案 0 :(得分:2)
也可以使用java.time API完成:
String date = "2017-05-10";
LocalDate ld = LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
String formattedDate = DateTimeFormatter.ofPattern("dd/MM/yyyy").format(ld);
答案 1 :(得分:1)
您可以尝试以下代码:
DateFormat dfto = new SimpleDateFormat("dd/MM/yyyy");
DateFormat dffrom = new SimpleDateFormat("yyyy-MM-dd");
Date today = dffrom.parse("2017-05-10");
String s = dfto.format(today);
答案 2 :(得分:0)
我只需运行一个内置的Java函数,该函数使用String对象构建,如下所述:
replace(char oldChar, char newChar)
Returns a new string resulting from replacing all occurrences of
oldChar in this string with newChar.
String myDate = df.parseDate(data).toString();
// if that's the right string you mention
// then
cal.setTime(myDate.replace('-', '/'));
它们可能必须被转义,但由于它是char数据类型,我最初的想法是否定的。