在“Mon APR 6,2012 11:12 am”格式中转换日期时间

时间:2012-04-24 06:49:58

标签: android

我想在

中转换日期时间
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

我需要月盖帽,其他所有都是相同的。

有没有解决方案,请转介我。

由于

5 个答案:

答案 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”)格式。你会得到你的解决方案。