Java 格式化org.joda.time.LocalDate

Java 格式化org.joda.time.LocalDate,java,jodatime,Java,Jodatime,我正在研究java应用程序。我正在将LocalDates列表转换为字符串数组。当我打印字符串数组时,我应该得到格式化的日期 当前日期格式为2016年10月12日、2016年10月13日。。我想把它格式化为2016年10月12日2016年10月13日… 我尝试使用不同的方法,但这在格式化方法附近给我带来了错误。请告知如何将日期格式化为2016年10月12日..并存储在字符串数组中。 下面是我的代码: // import org.joda.time.LocalDate; List<

我正在研究java应用程序。我正在将LocalDates列表转换为字符串数组。当我打印字符串数组时,我应该得到格式化的日期

当前日期格式为2016年10月12日、2016年10月13日。。我想把它格式化为2016年10月12日2016年10月13日… 我尝试使用不同的方法,但这在格式化方法附近给我带来了错误。请告知如何将日期格式化为2016年10月12日..并存储在字符串数组中。 下面是我的代码:

   // import org.joda.time.LocalDate;
    List<LocalDate> localDatesList = new ArrayList<LocalDate>();
    localDatesList.add(new LocalDate());
    localDatesList.add(new LocalDate().plusDays(1));
    localDatesList.add(new LocalDate().plusDays(2));
    localDatesList.add(new LocalDate().plusMonths(1));
    localDatesList.add(new LocalDate().plusMonths(2));
    List<String> tempDatesList = new ArrayList(localDatesList.size());
     for (LocalDate date : localDatesList) {
                tempDatesList.add(date.toString());  
       }
     String[] formattedDates = tempDatesList.toArray(new String[localDatesList.size()]);
for(String dates : formattedDates){
     System.out.println(dates);
                          }
               } }

在代码中,您应该尝试:

    for (LocalDate date : localDatesList) {
        final DateTimeFormatter formatter = DateTimeFormat.forPattern("MMMM dd,YYYY");          
        String str = formatter.print(date);
        System.out.println(str);
        tempDatesList.add(str);
    }
这张照片是:

October 13,2016
October 14,2016
October 15,2016
November 13,2016
December 13,2016
进口:

import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.joda.time.format.DateTimeFormatter;

试试这个,小重构你的代码,格式和解析都被添加了

    String format = "MMMM dd,YYYY";
    final DateTimeFormatter formatter = DateTimeFormat.forPattern(format);

    List<String> dateStrings = new ArrayList<>(localDatesList.size());
    for (LocalDate date : localDatesList) {
        dateStrings.add(date.toString(format)); //format
    }

    System.out.println("Strings " + dateStrings);

    List<LocalDate> localDates = new ArrayList<>();
    for (String dateString : dateStrings) {
        localDates.add(formatter.parseLocalDate(dateString)); //parse
    }

    System.out.println("LocalDates " + localDates);
    String format = "MMMM dd,YYYY";
    final DateTimeFormatter formatter = DateTimeFormat.forPattern(format);

    List<String> dateStrings = new ArrayList<>(localDatesList.size());
    for (LocalDate date : localDatesList) {
        dateStrings.add(date.toString(format)); //format
    }

    System.out.println("Strings " + dateStrings);

    List<LocalDate> localDates = new ArrayList<>();
    for (String dateString : dateStrings) {
        localDates.add(formatter.parseLocalDate(dateString)); //parse
    }

    System.out.println("LocalDates " + localDates);
Strings [October 13,2016, October 14,2016, October 15,2016, November 13,2016, December 13,2016]
LocalDates [2016-10-13, 2016-10-14, 2016-10-15, 2016-11-13, 2016-12-13]