1

「09:50」の getHours() が 8 を返すのはなぜですか? コード:

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
Date date = sdf.parse("09:50");
int hours = date.getHours(); // return 8 instead of 9 ???
4

3 に答える 3

0
            Calendar prueba = Calendar.getInstance();

        prueba.set(2013, 1, 6, 10, 49, 32);

        int day = prueba.get(Calendar.DAY_OF_MONTH);
        int month = prueba.get(Calendar.MONTH);
        int year = prueba.get(Calendar.YEAR);
        int hours = prueba.get(Calendar.HOUR);
        int minutes = prueba.get(Calendar.MINUTE);
        int seconds = prueba.get(Calendar.SECOND);

        Log.v("printf", "Date: " + day + "/"
                                 + month + "/"
                                 + year + "\n");
        Log.v("printf", "Time: " + hours + ":"
                                 + minutes + ":"
                                 + seconds + "\n");

PD: 0 で始まる Calendar クラスのフィールド Month を覚えておいてください (0-1 月、1-2 月、...) PD2: "printf" というフィルター logcat のタグをパーソナライズしました。使用するタグに合わせて変更してください。

于 2013-02-06T09:59:16.937 に答える