如何将java字符串转换为Date对象

how to convert java string to Date object

本问题已经有最佳答案,请猛点这里访问。

我有一根绳子

1
String startDate ="06/27/2007";

现在我必须得到约会对象。我的DateObject应与StartDate的值相同。

我是这样做的

1
2
DateFormat df = new SimpleDateFormat("mm/dd/yyyy");
Date startDate = df.parse(startDate);

但是输出是格式的

Jan 27 00:06:00 PST 2007.


您基本上有效地将您的日期转换成一个字符串格式到一个日期对象。如果您打印到这个点,您将得到标准日期格式化输出。在格式化之后,您需要将它返回到一个特定格式的日期对象(already specified previously)

1
2
3
4
5
6
7
8
9
10
String startDateString ="06/27/2007";
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date startDate;
try {
    startDate = df.parse(startDateString);
    String newDateString = df.format(startDate);
    System.out.println(newDateString);
} catch (ParseException e) {
    e.printStackTrace();
}


"MM"means the"minutes"bridge of a date.For the"Months"part,use"mm."

So,try to change the code to:

1
2
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = df.parse(startDateString);

编辑:a dateformat object contains a date formatting definition,not a date object,which contains only the date without concerning about formatting.当谈到格式化时,我们谈到在特定格式中创建一个日期的字符串代表。See this example:

ZZU1

输出

1
2
3
Date, with the default formatting: Wed Jun 27 00:00:00 BRT 2007
Date in format MM/dd/yyyy: 06/27/2007
Date in format dd/MM/yyyy: 27/06/2007


1
2
3
4
5
6
7
8
9
10
    try
    {  
      String datestr="06/27/2007";
      DateFormat formatter;
      Date date;
      formatter = new SimpleDateFormat("MM/dd/yyyy");
      date = (Date)formatter.parse(datestr);  
    }
    catch (Exception e)
    {}

月是mm,分钟是mm。


简明版:

1
2
3
String dateStr ="06/27/2007";
DateFormat formatter = new SimpleDateFormat("MM/dd/yyyy");
Date startDate = (Date)formatter.parse(dateStr);

添加一个试/试块,以保证格式是一个有效的日期。


1
2
3
4
var startDate ="06/27/2007";
startDate = new Date(startDate);

console.log(startDate);