在java中格式化日期

时间:2017-05-15 11:51:26

标签: java date

我有一个字符串格式的日期:2017-05-10。 我需要在2017年5月10日转换这个字符串。我该怎么办? 我可以使用哪个库? 我试过这个但没有效果

DateFormat df = new SimpleDateFormat("dd-MM-yyyy",Locale.ITALIAN);
Calendar cal  = Calendar.getInstance();
cal.setTime(df.parse(data));

3 个答案:

答案 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数据类型,我最初的想法是否定的。