subtracting two days from current date in epoch milliseconds java

p0tta picture p0tta · Mar 25, 2013 · Viewed 21.8k times · Source

I am trying to do something really simple. I am trying to subtract 2 days from the current day. I get the number of hours from the UI. So in this example, I get 48 hours from the UI. I am doing the following and I don't know what i'm doing wrong here. I think the result of this is it only subtracts a few minutes from the time.

long timeInEpoch = (currentMillis()/1000 - (48 * 60 * 60)); //48 comes from UI

public long currentMillis(){
    return new Date().getTime();
}

d = new Date(timeInEpoch * 1000);

I also tried

d1 = new Date(timeInEpoch);

Nothing seems to work. What am I doing wrong here?

Answer

Evgeniy Dorofeev picture Evgeniy Dorofeev · Mar 25, 2013

try

    long millis = System.currentTimeMillis() - 2 * 24 * 60 * 60 * 1000; 
    Date date = new Date(millis);

it definitely works