我正在尝试使用以下代码从半小时开始将字符串转换为日期:
SimpleDateFormat dateFormat = new SimpleDateFormat("YYYY-MM-dd");
Date lastCharged = dateFormat.parse(lastChargeDate);
每次运行此代码时,系统返回的日期为Sun Dec 29 00:00:00 PKT 2013
即使我手动更改了日期,系统的响应也是如此。
在这方面有任何帮助,很多工作因为这个错误而被暂停。
答案 0 :(得分:0)
DateFormat#parse()方法只是将String转换为Date。它不会改变转换日期中的任何内容,这意味着它不存储构造它的格式。
无论何时再次打印Date对象,它都会以默认的toString()
实现打印,这就是您所获得的。
您需要以特定格式再次打印,然后使用DateFormat#format()方法。
格式应为yyyy-MM-dd
,而不是YYYY-MM-dd
。
示例代码:
String oldDate="2014-06-07";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date=dateFormat.parse(oldDate);
System.out.println(date);
String newDate=dateFormat.format(date);
System.out.println(newDate);
输出:
Sat Jun 07 00:00:00 IST 2014
2014-06-07