package com.aionemu.gameserver.model.account; /** * Class for storing account's online and rest time * * @author EvilSpirit */ public class AccountTime { /** * Accumulated online time in millis */ private long accumulatedOnlineTime; /** * Accumulated rest(offline) time in millis */ private long accumulatedRestTime; /** * get daily accumulated online time in millis * * @return time in millis */ public long getAccumulatedOnlineTime() { return accumulatedOnlineTime; } /** * get daily accumulated online time in millis * * @param accumulatedOnlineTime * time in millis */ public void setAccumulatedOnlineTime(long accumulatedOnlineTime) { this.accumulatedOnlineTime = accumulatedOnlineTime; } /** * get daily accumulated rest (offline) time since first login * * @return time in millis */ public long getAccumulatedRestTime() { return accumulatedRestTime; } /** * get daily accumulated rest (offline) time since first login * * @param accumulatedRestTime * time in millis */ public void setAccumulatedRestTime(long accumulatedRestTime) { this.accumulatedRestTime = accumulatedRestTime; } /** * Returns hour part rounded down.
* For instance if time is 1 hr 32 min - it will return 1 hr * * @return hours part of accumulated online time */ public int getAccumulatedOnlineHours() { return toHours(accumulatedOnlineTime); } /** * Returns minutes part.
* For instance: if time is 1 hr 32 min - it will return 32 min * * @return minutes part of accumulated online time */ public int getAccumulatedOnlineMinutes() { return toMinutes(accumulatedOnlineTime); } /** * Returns hour part rounded down.
* For instance if time is 1 hr 32 min - it will return 1 hr * * @return hours part of accumulated rest time */ public int getAccumulatedRestHours() { return toHours(accumulatedRestTime); } /** * Returns minutes part.
* For instance: if time is 1 hr 32 min - it will return 32 min * * @return minutes part of accumulated rest time */ public int getAccumulatedRestMinutes() { return toMinutes(accumulatedRestTime); } /** * Converts milliseconds to hours.
* For instance if millis = 1 hr 32 min, 1 hour will be returned * * @param millis * milliseconds * @return hours */ private static int toHours(long millis) { return (int) (millis / 1000) / 3600; } /** * Converts milliseconds to minutes.
* For instance if millis = 1 hr 32 min, 32 min will be returned * * @param millis * milliseconds * @return minutes */ private static int toMinutes(long millis) { return (int) ((millis / 1000) % 3600) / 60; } }