1

日付と時刻を文字列に保存しています。つまり、文字列には str ="18/01/2013 5:00:00 pm" が含まれています。Androidで24形式の時間に変換するにはどうすればよいですか?

4

5 に答える 5

2

2 つの SimpleDateFormat インスタンスを使用できます。1 つは入力を日付として解析し、もう 1 つは日付を目的の形式の文字列としてフォーマットします。

たとえば、formattedDate以下のコードでは次のようになります18/01/2013 17:00:00

String str = "18/01/2013 5:00:00 pm";
SimpleDateFormat input = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a");
Date dt = input.parse(str);

SimpleDateFormat output = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
String formattedDate = output.format(dt); //contains 18/01/2013 17:00:00

ノート:

于 2013-01-18T12:18:28.130 に答える
1

試す

    String str ="18/01/2013 5:00:00 pm";
    Date date = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss a").parse(str);
    str = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(date);
    System.out.println(str);

出力

18/01/2013 17:00:00
于 2013-01-18T12:22:15.017 に答える
1

AM PM および 12 時間形式の日付形式を取得するにはhh:mm:ss a、文字列フォーマッタとして使用します。WHEREhh は 12 時間形式用でaあり、AM PM 形式用です。

注: HH は24時間、hh は12時間の日付形式です。

SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
            String newFormat = formatter.format(testDate);

String date = "18/01/2013 5:00:00 pm";
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/mm/dd HH:MM:SS");
        Date testDate = null;
        try {
            testDate = sdf.parse(date);
        }catch(Exception ex){
            ex.printStackTrace();
        }
        SimpleDateFormat formatter = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss a");
        String newFormat = formatter.format(testDate);
        System.out.println(".....Date..."+newFormat);
于 2013-01-18T12:24:15.790 に答える
0

Java SimpleDateFormat クラスを使用してみてください。

例:

SimpleDateFormat df = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
df.parse(date);

大文字の HH は 24 時間形式を使用します

于 2013-01-18T12:18:58.327 に答える
0

そのために SimpleDateFormat を使用できます。

SimpleDateFormat dateFormat = new SimpleDateFormat(dd/mm/yyyy HH:mm:ss");

あなたの要件とは反対のこれを参照してください。リンクを投稿しただけなので、HH と hh の違いがわかるかもしれません。

于 2013-01-18T12:18:11.490 に答える