Search code examples
javadatedatetimemilliseconds

Get milliseconds by next Saturday


I am developing a weekly event, but I need to get the milliseconds (unix timestamp) by next Saturday. How can I do that?


Solution

  • 1 create a calendar

     Calendar calNow = Calendar.getInstance();
    

    2 create another calendar, set it to midnight and move day by day until you hit Saturday

        Calendar calNextSat = Calendar.getInstance();
        calNextSat.set(Calendar.HOUR, 0);
        calNextSat.set(Calendar.MINUTE, 0);
        calNextSat.set(Calendar.SECOND, 0);
        while(calNextSat.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY){
            calNextSat.add(Calendar.DATE, 1);
        }
    
        System.out.println(calNextSat.getTimeInMillis() - calNow.getTimeInMillis());
    

    handle the scenario if it is already Saturday you would get <=0 result