0

問題の解決に問題があります。2013-05-23T19:00:00GMT-00日付文字列を StandardFormatに解析しようとしていますyyyy-MM-dd'T'HH:mm:sszが、常に 25 の位置で ParseException が発生します。

    // Get a human readable format.
    DateFormat dateFormat = DateTime.getStandardFormat();

    // Subtract a full hour from the time passed in.
    final int HOUR_IN_MINUTES = 3600;
    DateTime dateTimeLess1Hour = aDateTime.minus(HOUR_IN_MINUTES, 0);

    // Convert the DateTime, less exactly one hour, to a string.
    String timeLess1String = dateFormat.format(DateTime.toDate(dateTimeLess1Hour));

    // Split the string to distinguish the time part
    String date = timeLess1String.substring(0, 10);
    String time = timeLess1String.substring(11);

    String[] hhMMss = time.split(":");

    String hourOnHourDate = date + "T" + hhMMss[0] + ":00:00" + hhMMss[2].substring(2);

    Date inDateFormat = null;

    // Convert the string into a Date object
    inDateFormat = dateFormat.parse(hourOnHourDate);

    // Convert the Date into a DateTime object.
    return new DateTime(inDateFormat);

エラー メッセージには、Unparseable date: 2013-05-23T19:00:00GMT-00 と表示されます

4

1 に答える 1

0

位置 25 はGMT、文字 を使用して解析しようとしている部分の始まりを示しますz。タイムゾーンが常に であることが確実な場合はGMT、次のように固定文字列として配置できます。

yyyy-MM-dd'T'HH:mm:ss'GMT'

入力タイムゾーンが時々異なる場合は、それを分離します。

String zone = inputTime.substring(startPosition, endPosition);

zone文字列を使用して別の行にタイムゾーンを設定します

于 2014-11-18T16:38:15.063 に答える