Дата

243
.
Как сделать чтобы писало не номер месяца, а название например 10 июля 2018 в 12:45
$t[0] = date('jmy');
$t[1] = date('jmy',$realtime - 86400);
$t[2] = date('jmy',$realtime - 172800);
 
function sdata($i){ global $t;
	if ( $t[0] == date('jmy',$i) ) { $i = 'Сегодня, '.date('H:i',$i); }
		elseif ( $t[1] == date('jmy',$i) ){ $i = 'Вчера, '.date('H:i',$i); }
			elseif( $t[2] == date('jmy',$i) ){ $i = 'Позавчера, '.date('H:i',$i); }
				else{ $i = date('j.m.Y / H:i',$i); } return $i; }
.
Добавлено: 10.07.2018 / 14:44
Iron_Man,
print date('j F H:i', time());


Добавлено: 10.07.2018 / 14:55
Да, и что бы лишние вопросы не задавал, есть в функции data порядковый номер месяца..
$month = ['Январь', 'Февраль', 'Март', 'и т. д.',];
echo $month[data('n')];// return russian month name
.
kantry, В код можешь подключить?)
.
Добавлено: 10.07.2018 / 16:31
Iron_Man, А я в твоей функции не понял что входит, и что выходит

Добавлено: 10.07.2018 / 23:16
Как то так можно))
function time_stamp_to_data($time)
    {
        $months = [1=>'Январь', 2=>'Февраль', 3=>'Март', 4=>'Апрель', 5=>'Май', 6=>'Июнь', 7=>'Июль', 8=>'и т. д.',];
        $month = $months[date('n', $time)];
        return date('j ' . $month . ' H:i', $time);
    }
    
    echo time_stamp_to_data(time());
.
kantry,
date_default_timezone_set('Europe/Moscow');
$realtime = time() + $sdvigclock * 3600;
$mon = date("m", $realtime);
if (substr($mon, 0, 1) == 0) {
    $mon = str_replace("0", "", $mon);
}
$day = date("d", $realtime);
if (substr($day, 0, 1) == 0) {
    $day = str_replace("0", "", $day);
}

Как в этом коде сделать месяц на русском, и чтобы писало типа Сегодня в 21:25 или Вчера в 12:00, в общем как в четвертой версии
.
# Iron_Man (18.07.2018 / 21:25)
чтобы писало типа Сегодня в 21:25 или Вчера в 12:00
Никак не сделать, у тебя всегда текущее время
$realtime = time() + $sdvigclock * 3600;
Вот если бы ты напр. из базы время в timestamp брал...
$realtime = $row['time'] + $sdvigclock * 3600;
.
~ PHP-7 & REGEXP - This is a really powerful kit ~
Iron_Man, посмотри тут:
http://johncms.com/forum/index ... =5154
.
Этот код ставлю сайт не доступен
function textual_date($time, $format = 'j.m.Y / H:i', $with_offset = true)

{

global $realtime, $set_user;

$server_time = $with_offset ? $realtime + $set_user['sdvig'] * 3600 : $realtime;

$user_time = $with_offset ? $time + $set_user['sdvig'] * 3600 : $time;

 

switch (date('jmy', $user_time)) {

case date('jmy', $server_time):

return 'Сегодня, ' . date('H:i', $user_time);

case date('jmy', $server_time - 86400):

return 'Вчера, ' . date('H:i', $user_time);

case date('jmy', $server_time - 172800):

return 'Позавчера, ' . date('H:i', $user_time);

default: return date($format, $user_time);

}

}
.
Iron_Man, Ты код скопировал неправильно походу, работает функция.
Только лишнего много на мой взгляд.
На вот попроще, офсет, и завтра:послезавтра сам приделаешь))
function time_to_data($unixtime)
{
    $dat1 = date("Y-m-d H:i:s", $unixtime);
    $months = [
               '01'=>'января',
               '02'=>'февраля',
               '03'=>'марта',
               '04'=>'апреля',
               '05'=>'мая',
               '06'=>'июня',
               '07'=>'июля',
               '08'=>'августа',
               '09'=>'сентября',
               '10'=>'октября',
               '11'=>'ноября',
               '12'=>'декабря'
               ];
    return preg_replace_callback('/(\d{4})-(\d{2})-(0(\d)|([^0]\d)) (\d{2})\d{2})\d{2})/u',
                                 function ($m) use ($months) {
                                    return $m[4] . $m[5] . ' ' . $months[$m[2]] . ' ' . $m[1] . ' ' . $m[6] . ':' . $m[7] . ':' . $m[8];
                                }, $dat1);
}
.
Ооо Смайлики когда не надо повылазили
Прикрепленные файлы:
Всего: 11