Как преобразовать текущий формат даты и времени в миллисекунды (всего 10 цифр)?

Я преобразовал формат даты в milliseconds и формат времени в milliseconds. Я получаю текущее время более чем за 13 digits. CurrentTime= 1357755780000, StartingTime=1357602840, EndingTime=1357756140

Но когда я выполняю сравнение в приведенном ниже коде, часть if не выполняется, выполняется только часть else.

Есть ли ошибка в моем коде? Я хочу сделать currentTime 10 цифрами. Поэтому я думаю, что преобразование формата даты в миллисекунды неверно.

 String toParse = getDateorTime(1) + " " + getDateorTime(2);
 long currentTime=0,startingTime=0,endingTime=0,milliseconds=0;
 try 
 {
    dateFormater = new SimpleDateFormat("yyyy/MMM/dd hh:mm"); 
    Date date = null;
    try {
       date = dateFormater.parse(toParse);
       date.setTime(milliseconds);
    }catch (Exception e) {
       System.out.println("\n Error in date parsing"+e.toString());
    }
    currentTime = (date.getTime());
    start=Long.parseLong((cursor.getString(5).trim()));
    end=Long.parseLong((cursor.getString(6).trim()));
 }catch (ParseException pe) {
    pe.printStackTrace();
 }

 if((currentTime>=startingTime)&&(currentTime<=endingTime))
 {
   //
 }

person Achiever    schedule 09.01.2013    source источник
comment
попробуйте опубликовать оставшийся код, например, где инициализирован курсор и т. д.   -  person Raj    schedule 09.01.2013


Ответы (3)


Основываясь на ваших примерах, у вас на самом деле есть startingTime и endingTime в СЕКУНДАХ, а вы сравниваете их с currentTime в МИЛЛИСЕКУНДАХ. Просто умножьте количество секунд на 1000, например:

if((currentTime>=startingTime*1000L)&&(currentTime<=endingTime*1000L))
person 323go    schedule 09.01.2013
comment
время начала и время окончания только в миллисекундах - person Achiever; 09.01.2013
comment
Все в миллисекундах только яр. Текущее, время начала и окончания. Когда я сравниваю, если часть не выполняется, только другая часть была выполнена. Текущее время = 13577598690000, StartingTime = 1357602840, EndingTime = 1357842540 - person Achiever; 09.01.2013
comment
Правильно -- StartingTime и EndingTime указаны в СЕКУНДАХ. Просто добавьте к ним три нуля, и вы поймете, что я имею в виду. - person 323go; 09.01.2013

Просто разделите на 1000

Calendar cal = Calendar.getInstance();

System.out.println(cal.getTimeInMillis()/1000);
person Ram kiran    schedule 09.01.2013

Преобразуйте длинные значения в строку, и если длина> 10, просто подстроку значения (0,10), а затем вы также можете использовать строку .equals или скрыть их обратно в long для сравнения.

person android2013    schedule 09.01.2013