将yyyy-MM-dd中的字符串日期转换为Java UtilDatein格式yyyy-MM-dd

时间:2018-11-14 17:05:54

标签: java simpledateformat

我想以yyyy-MM-dd格式将日期值作为String并以相同格式返回jabva util日期。 为此,我使用下面的代码,但结果为“ 2013年9月18日星期三00:00:00 CEST”

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String  strdate = "2013-09-18";
    Date utilDate = sdf.parse(strdate);
    System.out.println(utilDate);

我还需要考虑语言环境吗? 请帮助实现这一目标。 预先感谢

1 个答案:

答案 0 :(得分:2)

请尝试以下代码。 您还必须格式化您的simpleDateFormat对象并在其中传递utilDate对象,以创建您指定的格式化日期。

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {

     public static void main(String[] args) throws ParseException{
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String  strdate = "2013-09-18";
            Date utilDate = sdf.parse(strdate);
            String date=sdf.format(utilDate );
            System.out.println(date);
 }
}

我们还可以通过Java8来实现,如下所示:

import java.text.ParseException;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class DateTest {

     public static void main(String[] args) throws ParseException{
         String  strdate = "2013-09-18";
            DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd");
            LocalDate date = LocalDate.parse(strdate, formatter);
            System.out.println(date.format(formatter));
}

}

或者您也可以仅使用LocalDate来更改Java util,如下所示。

import java.time.LocalDate;

public class TestCircle {

    public static void main(String args[]){
        String  strdate = "2013-09-18";
        LocalDate date = LocalDate.parse(strdate);
        System.out.println(date);
    }

}