Arhn - архитектура программирования

Разбор даты Android (извлечение месяца и года)

Я хочу, чтобы мое приложение анализировало дату в формате «дд-МММ-гггг». Дата была успешно проанализирована, когда я пытаюсь получить месяц и получить год, это дает другой результат. Я ввел дату 06 сентября 2014 года. Но когда я пытаюсь извлечь месяц и год из проанализированной даты, он показывает 8 для месяца вместо 9 и 114 для года вместо 2014.

вывод логарифма

6

8

114

Вот мой код

    String date1 = "06 sep 2014";
    SimpleDateFormat format1 = new SimpleDateFormat("dd MMM yyyy");
    SimpleDateFormat format2 = new SimpleDateFormat("d MMM yyyy");

    Date date;

    try {
        if (date1.length() == 11) {
            date = format1.parse(date1);

        } else {
            date = format2.parse(date1);

        }
        int day=date.getDate();
        int  mon1=date.getMonth();
        int year1=date.getYear();

        System.out.println("date is:"+ date);

        System.out.println(day);
        System.out.println(mon1);
        System.out.println(year1);


    } catch (ParseException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
11.12.2014

Ответы:


1
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public final class DateParseDemo {
    public static void main(String[] args){
         final DateFormat df = new SimpleDateFormat("dd MMM yyyy");
         final Calendar c = Calendar.getInstance();
         try {
             c.setTime(df.parse("06 sep 2014"));
             System.out.println("Year = " + c.get(Calendar.YEAR));
             System.out.println("Month = " + (c.get(Calendar.MONTH)));
             System.out.println("Day = " + c.get(Calendar.DAY_OF_MONTH));
         } 
         catch (ParseException e) {
             e.printStackTrace();
         }
    }
}

Выход:

  • Год = 2014
  • Месяц = ​​8
  • День = 6

А что касается поля месяца, то оно отсчитывается от 0. Это означает, что январь = 0 и декабрь = 11. Как указано в javadoc,

Номер поля для получения и установки с указанием месяца. Это значение, зависящее от календаря. Первый месяц года в григорианском и юлианском календарях - ЯНВАРЬ, что равно 0; последнее зависит от количества месяцев в году.

11.12.2014

2

Потому что date.getyear Возвращает значение, являющееся результатом вычитания 1900 из года, который содержит или начинается с момента времени, представленного этим объектом Date, как интерпретируется в местном часовом поясе.

Может быть, вы можете использовать, например;

int year1=date.getYear();
System.out.println(year1+1900);

11.12.2014

3

Используя класс Date, он дает вам год, начинающийся с 1900 года. Лучший способ получить то, что вы хотите, — это использовать класс Calendar. См. http://developer.android.com/reference/java/util/Date.html#getYear()

11.12.2014
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..