-2

Javaで文字列を指定されたパターンにフォーマットする方法を知りたいです。例えば:

the source string: 01021234
the desired ouput: 01/02/1234

私はMaskFormatterのウサギの穴をたどりましたが、無駄であることが証明されています。誰かが私がどの機能を使用すべきかを教えてくれますか? どんな助けでも大歓迎です。

サンプルコードを参照してください:

private static Date prepData(String date, String time) {
    try {
        if (date != null || !date.equals("")) {
            if (date.contains("/")) {
                return new Date(date + " " + time.substring(0, time.indexOf('.')));
            }else{
                MaskFormatter mk = new MaskFormatter("##/##/####");
                mk.setValidCharacters("1234567890");
                System.out.println(mk.valueToString(date));
            }
        } else {
            return null;
        }
    } catch (Exception ex) {
    }
    return null;
}
4

4 に答える 4

0

これは、MaskFormatter WAY が難しすぎることがわかったので、私が選択した方法です。

private static Date prepData(String date, String time) {
    try {
        if (date != null || !date.equals("")) {
            if (date.contains("/")) {
                return new Date(date + " " + time.substring(0, time.indexOf('.')));
            }else{
                String d = String.format("%s/%s/%s", date.substring(0, 2),date.substring(2, 4),date.substring(4));
                String t = String.format("%s:%s %s", time.substring(0, 2),time.substring(2, 4),time.substring(4));
                return new Date(d + " " + t);
            }
        } else {
            return null;
        }
    } catch (Exception ex) {
    }
    return null;
}
于 2012-08-01T18:12:30.413 に答える
0

String.format を選択すると、いくつかのオプションがあります

于 2012-07-31T18:18:27.970 に答える
0

日付をフォーマットしようとしている場合は、Java で DateFormatter を使用します

于 2012-07-31T18:19:26.853 に答える
0

SimpleDateFormat を試すことができます:

http://javatechniques.com/blog/dateformat-and-simpledateformat-examples/

于 2012-07-31T20:01:28.167 に答える