将java.time.LocalDate转换为java.util.Date



我有一个yyyy-MM-dd格式的java.time.LocalDate对象。我想知道如何将此转换为java.util.Date与MM-dd-yyyy格式。getStartDate()方法应该能够返回格式为MM-dd-yyyy的日期类型对象。

<<p> DateParser类/strong>
package com.accenture.javadojo.orgchart;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
import java.util.Locale;

    public class DateParser {
        public static LocalDate parseDate(String strDate){
            try{
                if((strDate != null) && !("").equals(strDate)){
                    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("M/d/yyyy").withLocale(Locale.US);
                    LocalDate date = LocalDate.parse(strDate, formatter);
                    return date;
                }
            } catch (DateTimeParseException e) {
                e.printStackTrace();
            }
            return null;
        }
    }

public Date getStartDate() {
    String fmd = format.format(startDate); 
    LocalDate localDate = DateParser.parseDate(fmd);
    return startDate;
}

如果您想将LocalDate转换为Date,请使用

LocalDate localDate = ...;
Instant instant = localDate.atStartOfDay().atZone(ZoneId.systemDefault()).toInstant();
Date res = Date.from(instant);

来源:http://blog.progs.be/542/date-to-java-time

您可以使用SimpleDateFormatDate格式化为您喜欢的任何格式。

可以使用SimpleDateFormat在LocalDate和Date对象之间切换。

import java.text.SimpleDateFormat;
public Date getStartDate() {
        String fmd = format.format(startDate); 
        LocalDate localDate = DateParser.parseDate(fmd);
        SimpleDateFormat actual = new SimpleDateFormat("yyyy-MM-dd");
        SimpleDateFormat wanted = new SimpleDateFormat("MM-dd-yyyy");
        String reformatted = wanted.format(actual.parse(localDate.toString()));
        Date date = wanted.parse(reformatted);
        return date;
    }

相关内容

最新更新