Сенсей
Новичок
Вывести период времени словами типа - месяц, год
Вобщем так. Есть дата регистрации пользователя. Просто выводить ее не кактит.
Нужно так (примеры):
Я зарегистрирован на сайте 1 недел(ю)
Я зарегистрирован на сайте 2 недел(и)
Я зарегистрирован на сайте 3 недел(и)
Я зарегистрирован на сайте 1 месяц
Я зарегистрирован на сайте 2 месяц(а)
Я зарегистрирован на сайте 1 год и 2 месяц(а)
Я зарегистрирован на сайте 1 год и 5 месяц(ев)
Я зарегистрирован на сайте 2 год(а) и 2 месяц(а)
Ну я так подумал тупо брать количество дней и делить его сначало на 12, 7, и 30
Может есть другой подход? Я сейчас не говорю про точность... она не нужна.. и про лексику (месяц - месяца) тоже не говорю...
Или же это самая простая реализация?
Вобщем так. Есть дата регистрации пользователя. Просто выводить ее не кактит.
Нужно так (примеры):
Я зарегистрирован на сайте 1 недел(ю)
Я зарегистрирован на сайте 2 недел(и)
Я зарегистрирован на сайте 3 недел(и)
Я зарегистрирован на сайте 1 месяц
Я зарегистрирован на сайте 2 месяц(а)
Я зарегистрирован на сайте 1 год и 2 месяц(а)
Я зарегистрирован на сайте 1 год и 5 месяц(ев)
Я зарегистрирован на сайте 2 год(а) и 2 месяц(а)
Ну я так подумал тупо брать количество дней и делить его сначало на 12, 7, и 30
PHP:
select DATEDIFF(now(), user_regdate) from users;
$years = $user_date_days_diff/12;
$weeks = $user_date_days_diff/7;
$months = $user_date_days_diff/30;
# Далее тупо ифами проверяем переменные в порядке убывания, сначало проверяем
# $years, потом $months, потом $weeks
# что то вроде этого
if ($years)
{
echo $years.' год(а)';
if ($months)
{
$months = $user_date_days_diff-(30*$years)
}
}
if ($months)
{
echo $months.' месяц(а)';
if ($weeks)
{
$weeks = $user_date_days_diff-(7*$weeks)
}
}
if ($weeks)
{
echo $weeks.' недел(и)';
}
Или же это самая простая реализация?

