WedX - журнал о программировании и компьютерных науках

Проблема с настройкой длины дня в классе Android Calendar

Я пытаюсь определить календарь Jalali, используя класс java Calendar. Проблема возникает, когда я устанавливаю дату jalali следующим образом:

Calendar jCal = Calendar.getInstance();

jCal.set(1390, 1, 31); //Current year in this calendar

На самом деле во втором месяце года в календаре Джалали ровно 31 день. Теперь, когда я звоню, чтобы получить месяц и день, я получаю:

int day = jCal.get(Calendar.MONTH);
int month = jCal.get(Calendar.DAY_OF_MONTH);

дает: день = 3 и месяц = ​​2

Кажется, дата перенастроена по григорианскому календарю. Точно так же я не могу использовать getImeInMillis() или setTimeInMillis()

Calendar testCal = Calendar.getInstance();
testCal.set(1380, 1, 28);
long millis = testCal.getTimeInMillis();

testCal.setTimeInMillis(millis + 3 * 24 * 3600 * 1000);

int day = jCal.get(Calendar.MONTH);
int month = jCal.get(Calendar.DAY_OF_MONTH);

снова результат: день = 3 и месяц = ​​2

Не могли бы вы помочь мне с этой проблемой?

26.07.2011

Ответы:


1

month в Calendar отсчитывается от нуля. См. Calendar.MONTH .

Изменить: возможно, вам поможет эта реализация календаря Jalali.

26.07.2011
  • Спасибо за замечание, вы правы! Однако моя проблема с установкой 31-го числа второго месяца года остается нерешенной! Я исправляю исходный вопрос... 27.07.2011
  • Это был хороший момент, но не ответ на мой вопрос. Спасибо хоть! 27.07.2011
  • Новые материалы

    Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
    Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

    Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
    В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..


    Для любых предложений по сайту: [email protected]