1

日時を変換したい

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

大文字の月が必要で、他のすべては同じでした。

解決策はありますか?

ありがとう

4

5 に答える 5

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());
于 2012-04-24T07:18:46.793 に答える
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);

        }
}

ただし、日付形式が変更された場合、これは機能しません。あなたはそれを理解する必要があります。

于 2012-04-24T07:11:32.377 に答える
2

文字列配列にchatAt()関数を使用してchraとして取得し、月を取得できますMon Apr 6, 2012 11:12 am。次に、文字列クラスのtoUpperCase()メソッドを使用して変換し、upprにします。

于 2012-04-24T06:59:43.690 に答える
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);
于 2012-04-24T07:07:16.310 に答える
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")形式で渡します。あなたはあなたの解決策を得るでしょう。

于 2012-04-24T07:24:06.123 に答える