我想在
中转换日期时间Mon APR 6, 2012 11:12 am
这种格式
我正在使用
SimpleDateFormat formatter = new SimpleDateFormat("EE MMM d, yyyy hh:mm a");
String date = formatter.format(d);
此代码获取日期格式但返回
Mon Apr 6, 2012 11:12 am
我需要月盖帽,其他所有都是相同的。
有没有解决方案,请转介我。
由于
答案 0 :(得分:2)
你可以使用charAt()函数将Mon Apr 6, 2012 11:12 am
和month作为char获取到字符串数组中。然后在字符串类中使用toUpperCase()方法将其转换为upprpb>
答案 1 :(得分:2)
试试这个 -
import java.text.SimpleDateFormat;
import java.util.Date;
class Solution
{
public static void main (String[] args)
{
Date d = new java.util.Date();
SimpleDateFormat formatter = new SimpleDateFormat("EE MMM d, yyyy hh:mm a");
String date = formatter.format(d);
String month = date.substring(4, 7);
date = date.replaceFirst(month, month.toUpperCase());
System.out.println(date);
}
}
但是如果您的日期格式发生变化,这不起作用。你需要了解这一点。
答案 2 :(得分:2)
试试此代码
Date d = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("EE MMM d, yyyy hh:mm a");
String date = formatter.format(d);
Log.v("Test","Date==="+d);
String[] temp;
String month ;
String final_string_date = "" ;
temp = date.split(" ");
for(int i =0; i < temp.length ; i++)
{
if(i==1)
month=temp[i].toUpperCase();
else
month=temp[i];
final_string_date = final_string_date+" "+ month;
}
Log.v("Test","final_string_date==="+final_string_date.trim());
答案 3 :(得分:1)
看看DateFormatSymbols http://docs.oracle.com/javase/1.4.2/docs/api/java/text/DateFormatSymbols.html
示例:
DateFormatSymbols symbols = new DateFormatSymbols();
symbols.setShortMonths(new String[]{"JAN","FEB"....});
SimpleDateFormat format = new SimpleDateFormat("EE MMM d, yyyy hh:mm a", symbols);
答案 4 :(得分:0)
public static String DateFormat(String repdate,SimpleDateFormat formater )
{
long d = Date.parse(repdate);
String[] arr= formater.format(d).split(" ");
arr[1] = arr[1].toUpperCase();
String date = "";
for(int i=0;i<arr.length;i++)
{
date = date + arr[i] +" ";
}
return date;
}
将您当前的日期字符串和日期格式化程序传递给(“EE MMM d,yyyy hh:mm a”)格式。你会得到你的解决方案。