17

我有一个格式为“2013-09-18”的字符串。我想把它转换成 java.util.Date。我正在这样做

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date convertedCurrentDate = sdf.parse(currentDateText);

转换后的CurrentDate 为“Wed Sep 18 00:00:00 IST 2013”

我希望我的输出格式为“2013-09-18”

小时、分钟和秒不应该出现,它应该采用 yyyy-MM-dd 的形式。

4

5 回答 5

37

您可能需要format输出如下。

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

利用

String convertedCurrentDate =sdf.format(sdf.parse("2013-09-18"));

输出:

2013-09-18
于 2013-09-18T13:08:50.343 回答
13
于 2016-05-29T07:07:07.220 回答
6

您正在创建一个 Date 对象,它表示时间线中的某个点。这意味着它将具有正确表示它所需的所有部分,包括分钟和秒等。因为您从仅包含部分日期的字符串对其进行初始化,所以将默认缺少的数据。

我假设您正在“打印”这个 Date 对象,但没有像解析它时那样实际指定格式。使用相同的 SimpleDateFormat 但调用相反的方法 format(Date) 正如 Holger 建议的那样

于 2013-09-18T13:09:32.263 回答
2
DateFormat df = new SimpleDateFormat("MM/dd/yyyy");
String cunvertCurrentDate="06/09/2015";
Date date = new Date();
date = df.parse(cunvertCurrentDate);
于 2015-07-30T07:31:17.870 回答
1

我将字符串转换为日期格式(“yyyy-MM-dd”)以保存到 Mysql 数据库中。

 String date ="2016-05-01";
 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
 Date parsed = format.parse(date);
 java.sql.Date sql = new java.sql.Date(parsed.getTime());

sql 这是我的日期格式输出

于 2016-05-29T04:41:59.670 回答