Как получить дату и время из строки в Java? - PullRequest
1 голос
/ 08 февраля 2012

У меня есть строка типа «ср, 08 фев 2012 09:06:41 +0000». Я хочу получить "Дата" 08-Фев-2012 и "Время" 09:06.

Как я могу получить это ?? Пожалуйста, помогите мне.

Заранее спасибо ..:)

Ответы [ 7 ]

3 голосов
/ 08 февраля 2012

Попробуйте,

SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss");
try 
{
    Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
    System.out.println(date);
    SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
    SimpleDateFormat time = new SimpleDateFormat("HH:mm");
    System.out.println(day.format(date));
    System.out.println(time.format(date));
} 
catch (ParseException e) 
{
    e.printStackTrace();
}

Это будет работать наверняка.

1 голос
/ 08 февраля 2012

Вы можете использовать SimpleDateFormat . SimpleDateFormat - это конкретный класс для форматирования и анализа дат с учетом языка. Он позволяет форматировать (дата -> текст), анализировать (текст -> дата) и нормализовать.

Вам просто нужен правильный формат:

"EEE, d MMM yyyy HH:mm:ss Z"
1 голос
/ 08 февраля 2012
Date d = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(yourString);
0 голосов
/ 08 февраля 2012

Сначала разберите строку в Date, затем отформатируйте дату в нужные вам строки:

    SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
    try {
        Date date = (Date)sdf.parse("Wed, 08 Feb 2012 09:06:41 +0000");
        System.out.println(date);
        SimpleDateFormat day = new SimpleDateFormat("dd-MMM-yyyy");
        SimpleDateFormat time = new SimpleDateFormat("HH:mm");
        System.out.println(day.format(date));
        System.out.println(time.format(date));
    } catch (ParseException e) {
        e.printStackTrace();
    }

выводит:

Wed Feb 08 09:06:41 GMT 2012
8-Feb-2012
09:06
0 голосов
/ 08 февраля 2012

Вы можете использовать SimpleDateFormat

Для отображения 08 февраля 2012 года вы можете использовать SimpleDateFormat как

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("dd-MMM-yyyy");  
m_sdFormatter.format(your date);

Для отображения «Время» 09:06. Вы можете использовать SimpleDateFormat как

SimpleDateFormat  m_sdFormatter = new SimpleDateFormat("HH:mm");  
m_sdFormatter.format(your date);
0 голосов
/ 08 февраля 2012

Используйте следующую идиому:

DateFormat fmt = new SimpleDateFormat("E, dd MMM yyyy HH:mm:ss Z");
Date date = (Date)fmt.parse("Wed, 08 Feb 2012 09:06:41 +0000");

"E, dd MMM гггг чч: мм: сс Z" это шаблон для вашего анализатора.

"Ср, 08 февраля 2012 09:06:41 +0000" на самом деле ваша строка даты.

Теперь объект date содержит структурированную дату, и вы можете извлечь все, что вам нужно.

0 голосов
/ 08 февраля 2012
DateFormat formatter ; 
Date date ; 
formatter = new SimpleDateFormat("EEE, dd MMM yyy HH:mm:ss Z");
date = (Date)formatter.parse(str_date);  

посмотрите здесь http://docs.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html для даты и времени.

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