Я до сих пор не уверен, как работает System.currentTimeMillis()
, но я хочу использовать его для игрового сервера для обработки заблокированных учетных записей.
Например, в базе данных у меня будет «bannTime», который будет равен (System.currentTimeMillis () + How_much_time_to_ban_in_ms) в данных пользователя.
Когда пользователь войдет в систему, он всегда будет проверять, все ли в порядке, используя это:
if(bannTime==-1)return;
if(System.currentTimeMillis()>bannTime){
// It's ok you can long in
removeBanFromDataBase();
}else{
// You can not login, you have to wait: (bannTime - System.currentTimeMillis())
return;
}
Что мне нужно знать, это:
Безопасно ли использовать System.currentTimeMillis()
таким образом, если код всегда будет работать на одной машине? Даже если я перезагружу машину, System.currentTimeMillis()
будет продолжать увеличиваться и никогда не будет возвращаться или начинать с нуля? Никогда?
А что, если я поменяю местное время и дату на машине, System.currentTimeMillis()
тоже изменится?