0

我有一个格式为“ YYYY-MM-dd ”的字符串,我想将其转换为“ MMM dd, yyyy ”格式。

我使用下面的代码来做到这一点;但是当我转换“ 2014 -11-18”时,输出是这个“Sun Dec 29 00:00:00 IST 2013

我该如何解决这个问题?

DateFormat target=new SimpleDateFormat("MMM dd, yyyy");
String P_date="2014-11-18"
Date test1 = new SimpleDateFormat("YYYY-MM-dd").parse(P_date);

String converted_date=target.format(test1);
Date test=target.parse(converted_date);
4

4 回答 4

3

y小写 Y)格式表示“年”。Y(大写 Y)你使用的意思是“WeekYear”。只需使用y,你应该没问题:

DateFormat target=new SimpleDateFormat("MMM dd, yyyy");
String P_date="2014-11-18";
Date test1 = new SimpleDateFormat("yyyy-MM-dd").parse(P_date);

String converted_date=target.format(test1);
Date test=target.parse(converted_date);
于 2014-11-29T12:12:57.897 回答
2

Y 返回 Week year 这就是为什么您也看到工作日。使用 y 代替。

Date test1 = new SimpleDateFormat("yyyy-MM-dd").parse(P_date);
于 2014-11-29T12:19:31.930 回答
1

你可以这样写

final JDateChooser startDateChooser = new JDateChooser();
startDateChooser.setDateFormatString("yyyy-MM-dd");
Date startDate = startDateChooser.getDate();
HashMap listMap = new HashMap();
listMap.put("Start Period is ", ((startDate.getYear() + 1900)+ "-" + (startDate.getMonth() + 1) + "-" +startDate.getDate()));
于 2014-12-30T11:20:38.733 回答
0
于 2018-02-12T22:50:18.467 回答