0

6 つの数字を含む文字列があります: 650310. 1965 march 10形式で表しYYMMDDます。

このフォーマットを認識する方法はあります10 march 1965か?現在、これはあまり効果的ではない私の方法です。

public class Example {

    public static void main(String args[]) {
        //date in YYMMDD

        //String x = "650310";
        String x = "161020";
        System.out.print(x.substring(4, 6)+" ");

        if (Integer.parseInt(x.substring(2, 4)) == 10) {
            System.out.print("October"+" ");
        }
        else  if (Integer.parseInt(x.substring(2, 4)) == 03) {
            System.out.print("March"+" ");
        }
        if (Integer.parseInt(x.substring(0, 2)) > 50) {
            String yr = "19" + x.substring(0, 2);
            System.out.println(yr);
        } else if (Integer.parseInt(x.substring(0, 2)) < 50) {
            String yr = "20" + x.substring(0, 2);
            System.out.println(yr);
        }
    }
}

output : 20 October 2016
4

4 に答える 4

3

Java の SimpleDateFormat を使用します。

SimpleDateFormat inFormat = new SimpleDateFormat( "yyMMdd" );
Date theDate = format.parse( "650310" );

これで、他の形式で日付を表示するために使用できる Date オブジェクトができました。

SimpleDateFormat outFormat = new SimpleDateFormat( "dd MMMMM yyyy" );
StringBuffer output = outFormat.format( theDate );

output.toString()新しくフォーマットされた日付を表示するために使用します。幸運を。

于 2013-11-05T08:21:00.990 に答える
1

この例を試してください

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Example {

    public static void main(String args[]) throws ParseException {

        SimpleDateFormat s = new SimpleDateFormat( "yyMMdd" );
        Date theDate = s.parse( "650310" );
        SimpleDateFormat p = new SimpleDateFormat( "dd MMMMM yyyy" );
System.out.println(p.format(theDate));
    }
}

OUTPUT 1965 年 3 月 10 日

于 2013-11-05T08:26:55.887 に答える
0

このリンクが役立ちます。SimpleDateFormat オブジェクトを作成し、それを使用して文字列を日付に解析し、日付を文字列にフォーマットします。

于 2013-11-05T08:20:19.617 に答える
0

日付の解析にはSimpleDateFormatを使用します。例えば:

SimpleDateFormat format = new SimpleDateFormat("yyMMdd");
try {
        System.out.println(format.parse("900310"));
} catch (ParseException e) {
    e.printStackTrace();
}

出力: Sat Mar 10 00:00:00 MSK 1990

編集:日付を解析したい場合は、DateFormatを使用して取得してみてくださいDate!!!! そして、独自の方法でフォーマットできます。私はあなたの反対票に同意しません。

SimpleDateFormat format = new SimpleDateFormat("yyMMdd");
    try {
        Date parse = format.parse("900310");
        format.applyPattern("dd MMMM yyyy");
        System.out.println(format.format(parse));
    } catch (ParseException e) {
        e.printStackTrace();
    }

出力 10/Март/1990

于 2013-11-05T08:16:56.993 に答える