Статьи

Дайте вашим посетителям трудное время

Во время серфинга на большой WWW я наткнулся на страницу проекта Лоуренса Уилмотта о том, как люди действительно говорят время.

Когда задают вопрос о времени, нам обычно не нужно быть военными точными с нашим ответом, и поэтому не склонны говорить «девять пятьдесят три и двадцать две секунды». Обычно мы сообщаем приблизительное время. то есть, «почти десять» или «только что прошло половина третьего». Тем не менее, в Интернете время обычно показывается как «12: 24: 13 AM» или похожее — не очень удобное для посетителей.

Это дало мне идею: как насчет того, чтобы сделать подобное на веб-сайте. то есть показывает время так, как вы бы это сказали. Итак, без лишних слов, я дам вам: «RoughTime» немного кода PHP, чтобы выразить время — примерно.


< ?php
$hour = (int) date('g');
$minute = (int) date('i');

switch($minute){
	case ($minute >=0 && $minute <5):
		$roughTime = numberToWord($hour).'-ish';
	break;
	case ($minute >=5 && $minute <14):
		$roughTime = 'just gone '.numberToWord($hour);
	break;
	case ($minute >=15 && $minute <20):
		$roughTime = 'quarter past '.numberToWord($hour);
	break;
	case ($minute >=20 && $minute <25):
		$roughTime = 'nearly half '.numberToWord($hour);
	break;
	case ($minute >=25 && $minute <35):
		$roughTime = 'half '.numberToWord($hour);
	break;
	case ($minute >=35 && $minute <40):
		$roughTime = 'just gone half '.numberToWord($hour);
	break;
	case ($minute >=40 && $minute <50):
		$roughTime = 'quarter to '.numberToWord($hour + 1);
	break;
	case ($minute >=50):
		$roughTime =  'nearly '.numberToWord($hour +1);
	break;
}

function numberToWord($number){
	switch($number){
		case 1:
			$word = 'one';break;
		case 2:
			$word = 'two';break;
		case 3:
			$word = 'three';break;
		case 4:
			$word = 'four';break;
		case 5:
			$word = 'five';break;
		case 6:
			$word = 'six';break;
		case 7:
			$word = 'seven';break;
		case 8:
			$word = 'eight';break;
		case 9:
			$word = 'nine';break;
		case 10:
			$word = 'ten';break;
		case 11:
			$word = 'eleven';break;
		case 13:
			$word = 'one';break;
		default:
			$word = 'twelve';break;
	}
	return $word;
}

echo 'Its '.$roughTime;
?>

Код намеренно находится в довольно сыром состоянии, так что вы можете адаптировать его под себя.

Как это работает?
Прежде всего, он получает минуты и часы текущего времени в виде целых чисел. Затем он выбирает соответствующее сообщение на основе минут после часа и, наконец, устанавливает номер часа в виде слова.

Полезная альтернатива «традиционному» способу отображения времени? Продолжайте давать посетителям вашего сайта трудное время, вы никогда не знаете — им это может понравиться.