/*
* $Id$
*
* Copyright (C) 2003-2015 JNode.org
*
* This library is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
* by the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
* or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
* License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this library; If not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
package org.jnode.util;
/**
* @author Ewout Prangsma (epr@users.sourceforge.net)
*/
public class TimeUtils {
/**
* Sleep for ms milliseconds.
*
* @return True if return normal, false on InterruptedException.
*/
public static boolean sleep(long ms) {
try {
Thread.sleep(ms);
return true;
} catch (InterruptedException ex) {
return false;
}
}
/**
* Converts Gregorian date to milliseconds since 1970-01-01 00:00:00 .
*
* @param year the year
* @param mon the month 1..12
* @param day the day of month 1..31
* @param hours hours of day 0..23
* @param mins minutes 0..59
* @param secs seconds 0..59
* @return the milliseconds since 1970-01-01 00:00:00
*/
public static long time2millis(int year, int mon, int day, int hours, int mins, int secs) {
if (0 >= (mon -= 2)) { /* 1..12 -> 11,12,1..10 */
mon += 12; /* Puts Feb last since it has leap day */
year -= 1;
}
return ((((
((long) (year / 4 - year / 100 + year / 400 + 367 * mon / 12 + day) + year * 365 - 719499)) /* days */
* 24l + hours) /* hours */
* 60l + mins) /* minutes */
* 60l + secs) /* seconds */
* 1000l; /* milliseconds */
}
}