Вопрос

Привет, я пытаюсь использовать SimpleDateFormatter, чтобы разбирать дату Wed, 30 Jun 2010 15:07:06 CST

Я использую следующий код

public static SimpleDateFormat postedformat = 
    new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
Date newDate = new Date(posteformat.parse("Wed, 30 Jun 2010 15:07:06 CST"));

Но я получаю незаконноларгументэксексуал. Пожалуйста помоги!

Это было полезно?

Решение

postedformat.parse() Возвращает А. Date, и нет нет Date(Date) конструктор.

Предположительно удалить звонок к new Date, Итак, ты говоришь Date newDate = poste.... будет достаточно

Другие советы

Ваш фрагмент кода не скомпилируется. Эта небольшая модификация компилирует и успешно разбирается:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat postedformat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
    Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
    System.out.println("newDate = " + newDate);
}

Это использует Java 6 на Mac OS X.

Здесь нет java.util.Date() конструктор, который принимает java.util.Date как аргумент

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

public class DateFormat {
    public static SimpleDateFormat postedformat = 
        new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z");
    public static void main(String[] args) {
        try {
            Date newDate = postedformat.parse("Wed, 30 Jun 2010 15:07:06 CST");
            System.out.println("Date: " + newDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
}

Выходы:

Date: Wed Jun 30 22:07:06 BST 2010

Примеры JavadoC показывают безрассудоченную запятую, а для местной базы США. Так что либо попробуйте избежать запятой (как предложил Aaron) или использовать другой конструктор и установить локаль:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US);

Другая проблема может быть часовой пояс («CST»), которая устарела на руку и двусмыслению с другой (согласно Javadoc java.util.TimeZone). Тест, если он работает без атрибута TimeZone (как в формате, так и в формате, так и в значении).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top