Дата разбора, которая читается из файла - PullRequest
0 голосов
/ 21 февраля 2011

У меня есть запись в файле как 17 Dec 2010 17:02:24 17 Dec 2010 18:02:24.Я читаю их из файла .... мой код парсера:

static SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy hh:mm:ss");

public static String DateFormat(String startdate) {

    String date = null;
    try {

        java.util.Date tDate = df.parse(startdate);

        df = new SimpleDateFormat("dd-MMM-yy hh:mm:ss a");
        String formatteddate = df.format(tDate).toUpperCase();

        return formatteddate;

    } catch (ParseException e) {
        System.out.println("Unable to Parse" + e);
    }
    return date;

}

, но анализируется только первый формат даты ... тогда ошибка будет невозможно проанализировать

Ответы [ 3 ]

2 голосов
/ 21 февраля 2011

вы снова записываете значение df в другом формате (как показано ниже) в методе DateFormat(...).df является статической переменной, поэтому он будет использовать этот новый формат для последующего чтения. Используйте новую локальную переменную для "дд-МММ-гг чч: мм: сс"

df = new SimpleDateFormat("dd-MMM-yy hh:mm:ss a");
0 голосов
/ 21 февраля 2011

Ваша проблема в том, что вы повторно используете df, как указано в Pangea.

static SimpleDateFormat df = new SimpleDateFormat("dd MMM yyyy hh:mm:ss");

public static String DateFormat(String startdate) {

    String date = null;
    try {

        java.util.Date tDate = df.parse(startdate);

        SimpleDateFormat outputDf = new SimpleDateFormat("dd-MMM-yy hh:mm:ss a");
        String formatteddate = outputDf.format(tDate).toUpperCase();

        return formatteddate;

    } catch (ParseException e) {
        System.out.println("Unable to Parse" + e);
    }
    return date;

}
0 голосов
/ 21 февраля 2011

Надеюсь, это поможет.

static SimpleDateFormat inputDateFormat = new SimpleDateFormat("dd MMM yyyy hh:mm:ss");
static SimpleDateFormat outputDateFormat = new SimpleDateFormat("dd-MMM-yy hh:mm:ss a");

    public static String getFormattedDate(String startdate) {

    String date = null;
    try {

        java.util.Date tDate = inputDateFormat.parse(startdate);

        String formatteddate = outputDateFormat.format(tDate).toUpperCase();

        return formatteddate;

    } catch (ParseException e) {
        System.out.println("Unable to Parse" + e);
    }
    return date;

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...