Java ME получить вчерашнюю дату - PullRequest
1 голос
/ 14 июня 2010

Мне нужно получить вчерашнюю дату из мидлета Java ME.
Я знаю, что у объекта Calendar в Java есть метод add, но в календаре Java ME его нет.
Существует ли простой способ получить вчерашнюю дату?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 14 июня 2010

Как насчет чего-то вроде

Calendar c = Calendar.getInstance();
c.setTimeInMillis(c.getTimeInMillis() - MILLISECONDS_OF_ONE_DAY);

??

1 голос
/ 19 августа 2010
    int ny = year, nm =month, nd =day;
    nd-=1;
    if (nd <= 0){
        nd = 31;
        nm-=1;
    }
    if (nm <= 0){
        nm = 12;
        ny-=1;
    }
    Calendar cal = Calendar.getInstance();
    try{
        cal.set(Calendar.YEAR, ny);
        cal.set(Calendar.MONTH,nm);
        cal.set(Calendar.DAY_OF_MONTH,nd);
    }catch(ArrayIndexOutOfBoundsException e){
        nd-=1;
        cal.set(Calendar.YEAR, ny);
        cal.set(Calendar.MONTH,nm);
        cal.set(Calendar.DAY_OF_MONTH,nd);
    }
    return new SimpleDate(cal.getTime());

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

1 голос
/ 14 июня 2010

Или как-то так:

Calendar c = Calendar.getInstance();
c.set(Calendar.DATE, c.get(Calendar.DATE) - 1);
c.computeTime(); // Make sure getTime returns the updated time

(Этот код должен соответствовать классу CLDC 1.1 Calendar )

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