例如,它会将2014年2月15日到2014年2月15日的日期格式化
我已经尝试了一个转换来获得月份并且结果已经解决了,但我无法弄清楚如何完成其余的工作。
这是我到目前为止所做的:
private void formatDate()
{
String month = dateDeparture.substring(0, dateDeparture.indexOf('/'));
switch(dateDeparture)
{
case 1:
month = "January";
break;
case 2:
month = "February";
break;
case 3:
month = "March";
break;
case 4:
month = "April";
break;
case 5:
month = "May";
break;
case 6:
month = "June";
break;
case 7:
month = "July";
break;
case 8:
month = "August";
break;
case 9:
month = "September";
break;
case 10:
month = "October";
break;
case 11:
month = "November";
break;
default:
month = "December";
break;
}
dateDeparture = month+" "+dateDeparture.substring(dateDeparture.indexOf('/'), dateDeparture.lastIndexOf('/'))+ dateDeparture.substring(dateDeparture.lastIndexOf('/'));
}
答案 0 :(得分:1)
Java有一个名为SimpleDateFormat的类。用它来实现你正在做的事情。
答案 1 :(得分:1)
最好使用类似SimpleDateFormat的日期格式化类:
SimpleDateFormat numericDateFormatter = new SimpleDateFormat("MM/dd/yyyy");
Date date = numericDateFormatter.parse(dateDeparture);
SimpleDateFormat mixedDateFormatter = new SimpleDateFormat("MMMMMMMMM d, yyyy");
String dateNew = mixedDateFormatter.format(date);
答案 2 :(得分:0)
只要您使用的是Java 7,就可以在String
语句中使用switch
...
但是,您当前的代码存在两个问题......
一,您使用dateDeparture
而非month
switch(dateDeparture)
您的案例陈述使用int
代替String
case 1:
相反,你需要使用更像......
的东西switch (month) {
case "1":
case "01":
month = "January";
break;
}
现在,因为你的月份"可能"如果是零索引,则需要考虑两种情况......
如果您使用的是Java 6或eailer,则需要将String
值转换为int
...
int monthValue = Integer.parseInt(month);
switch (monthValue) {
case 1:
//...
更简单的方法是使用可用的内置API ...
首先将String
值转换为Date
值...
SimpleDateFormat in = new SimpleDateFormat("MM/dd/yyyy");
Date date = in.parse(dateDeparture);
然后格式化日期......
SimpleDateFormat out = new SimpleDateFormat("MMMM dd, yyyy");
String value = out.format(date);
仔细查看SimpleDateFormat
了解更多详情......
答案 3 :(得分:0)
这样做......
//splits string based on / delimiter
String[] MDY = dateDeparture.split("/");
int month = Integer.parseInt(MDY[0]);
int day = Integer.parseInt(MDY[1]);
int year = Integer.parseInt(MDY[2]);
然后在月上使用您的switch语句,并根据自己的喜好格式化 day 和 year 。