Skip to content

Instantly share code, notes, and snippets.

@AleksMeshkov
Created December 9, 2013 13:07
Show Gist options
  • Save AleksMeshkov/7872025 to your computer and use it in GitHub Desktop.
Save AleksMeshkov/7872025 to your computer and use it in GitHub Desktop.
<?php
function dailyDate($timestamp){
if(is_string($timestamp)) $timestamp = strtotime($timestamp);
$minuts_map = array("минут", "минута", "минуты", "минуты", "минуты",
"минут", "минут", "минут", "минут", "минут");
$hours_map = array("", "1 час", "2 часа", "3 часа", "4 часа", "5 часов", "6 часов",
"7 часов", "8 часов", "9 часов", "10 часов", "11 часов",
"12 часов", "13 часов", "14 часов", "15 часов", "16 часов",
"17 часов", "18 часов", "19 часов", "20 часов", "21 час",
"22 часа", "23 часа");
$diff = time() - $timestamp;
if ($diff < 24 * 60 * 60)
{
$hours = floor($diff / 3600);
//pre($hours);
$minuts = floor(($diff - $hours * 3600) / 60);
If ($minuts < 5)
{
$minuts = $minuts." ".$minuts_map[$minuts];
}
elseif ($minuts < 21)
{
//$minuts = $minuts ." ". $minuts_map[preg_replace('/^[2-5](\d)$/i', '$1', $minuts)];
$minuts = $minuts." минут";
}
else{
$minuts = " ".$minuts." ".$minuts_map[preg_replace('/^[2-5](\d)$/i', '$1',
$minuts)];
}
if(isset($hours_map[$hours]))
return $hours_map[$hours].$minuts." назад";
}
return date("H:i", $timestamp);
}
/*
* Функция возварщяет текущий URL удаляя из текущего URL указанные параметры и заменяя их новыми
* @param $param новые парамеры
* @param $clear_param удаляемые параметры,
* можно указывать массив или строку со значениями через запятую.
*
* <a href="<?=current_url('sort=price','sort')?>">Сортировать по цене</a>
*/
function current_url($param, $clear_param = array() ){
$arr = array();
$url = $_SERVER['REQUEST_URI'];
$url = parse_url($url);
if(isset($url['query'])){
parse_str($url['query'], $arr);
if(is_string($clear_param)) $clear_param = explode(',',$clear_param);
foreach($clear_param as $item) unset($arr[$item]);
parse_str($param, $arr2);
$arr =array_merge($arr,$arr2);
}
return $url['path'] . (count($arr) > 0 ?'?' . http_build_query($arr):'');
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment