С помощью PHP я пытаюсь преобразовать кучу чисел в читаемый формат, дело в том, что я понятия не имею, в каком формате они находятся или могут быть проанализированы с помощью date() или time() функции в php. их тоже два.

(они основаны на общем времени, проведенном в сети, и времени с момента последнего входа в систему)

onlinetime : 1544946 = 2w 3d 21h 9m
lastonline : 1397087222 = 1h 32m

Кто-нибудь знает, как получить два разных времени из двух разных временных меток?

0
Pips 10 Апр 2014 в 05:22

2 ответа

Лучший ответ

Если у вас есть метка времени Unix, взгляните на Преобразование метки времени в читаемую дату / время PHP. Документация PHP находится здесь: http://php.net/manual/en/function. date.php.

В режиме онлайн вы можете выполнить арифметику по модулю, чтобы вычислить значения для каждого, а затем просто сделать строку из результата. Однако у кого-то может быть более хорошее предложение для этого.

0
Community 23 Май 2017 в 12:05

Я думаю, что Джон прав, первое - это количество секунд в указанном промежутке времени. А второй для меня определенно выглядит как временная метка unix. Итак, вот как вы можете получить желаемое из этих наборов чисел:

1) Для первого числа просто разделите число на секунды в заданном промежутке времени и используйте floor ():

$timeElapsed = 154496; // in this case
$weeksElapsed = floor($timeElapsed / 604800);
$remainder = $timeElapsed % 604800;
$daysElapsed = floor($remainder / 86400);
etc...

2) Для второго числа вы можете сделать то же самое, сначала получив текущую временную метку, а затем вычтя из нее данную временную метку:

$lastOnline = 1397087222; // again, in this case
$currentTimestamp = time();
$elapsedSinceLastLogin = $currentTimestamp - $lastonline;
$weeksSinceLastLogin = floor($elapsedSinceLastLogin / 604800);
etc...
0
Matt 10 Апр 2014 в 02:10