 
			
				07.09.2015, 09:36
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Новичок на форуме 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.09.2015 
					
					
					
						Сообщений: 1
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Вывод серверного времени на сайте
			 
			
		
		
		
		Всем привет! 
Подскажите пожалуйста: как сделать чтобы отображалось время на сайте, при этом, чтобы если задал, например, GMT+6 - то оно и будет всегда показываться, независимо от того, какое время стоит на копьютере у пользователя.
 
Использую такое решение: 
 
<SCRIPT Language="JavaScript">
function ClockTimeZone() {
  var TimezoneOffset = 6 // указать нужное смещение по Гринвичу
  var localTime = new Date();
  var ms = localTime.getTime() + (localTime.getTimezoneOffset() * 60000) + TimezoneOffset * 3600000;
  var time = new Date(ms); 
  var hour = time.getHours(); 
  var minute = time.getMinutes();
  var second = time.getSeconds();
  var temp = "" + ((hour < 10) ? "0" : "") + hour;
  temp += ((minute < 10) ? ":0" : ":") + minute;
  temp += ((second < 10) ? ":0" : ":") + second;
  document.getElementById('clock').innerHTML = temp;
  setTimeout("ClockTimeZone()",1000);
}
onload = ClockTimeZone;
</SCRIPT>
Однако, при неправильном времени на компьютере пользователя, данный скрипт будет также выводить неправильное время. Как нужно переписать, чтобы он был привязан не ко времени с системы пользователя, а к серверному времени (с корректировкой +/- по GMT) ?
 
Спасибо!  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.09.2015, 09:45
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 McCloud, 
 нужно время сервера послать при открытии страницы, а потом к этому времени плюсовать время прошедшее с открытия страницы. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.09.2015, 16:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.06.2010 
					
					
					
						Сообщений: 279
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Может, не в тему, но если речь о дате и об онлайн заказах, то вот это неплохо: 
date_default_timezone_set('Europe/Moscow');
Правильно я делаю, чтобы время было в любой части планеты мое?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.09.2015, 17:24
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Эдди
			
		
	 | 
 
	| 
		Правильно я делаю, чтобы время было в любой части планеты мое?
	 | 
 
	
 
 В смысле времени сервера?  
date_default_timezone_set('Europe/Moscow') это будет временем временем сервера для РНР, но не для SQL.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2015, 16:51
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.06.2010 
					
					
					
						Сообщений: 279
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		В смысле времени сервера?  
date_default_timezone_set('Europe/Moscow') это будет временем временем сервера для РНР, но не для SQL.
	 | 
 
	
 
 Если я не буду использовать sql NOW(), а писать время только через php, то время sql мне не важно ведь? 
Есть какие подводные камни?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				08.09.2015, 17:44
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Если не использовать функции sql, которые работают по системному времени, пожалуйста. Но трудно представить запросы, в которых нужно сравнить дату/время с текущей, да еще с интервалами без NOW(). Можно конечно в запрос подставить и полученное от date(). 
Временная зона обычно доступна для установки через панель конфигурации сервера, то есть date_default_timezone_set(), это мера крайняя. Если нет, то в службу поддержки, они установят желаемую временную зону для сервера. 
Если что, что установить временную зону sql можно: SET time_zone = 'Europe/Moscow', или скорректировать локальное время для установленной временной зоны: SET LOCAL time_zone='+hh:mm'. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 18:28
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.06.2010 
					
					
					
						Сообщений: 279
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от laimas
			 
		
	 | 
 
	
		Если не использовать функции sql, которые работают по системному времени, пожалуйста. Но трудно представить запросы, в которых нужно сравнить дату/время с текущей, да еще с интервалами без NOW(). Можно конечно в запрос подставить и полученное от date(). 
Временная зона обычно доступна для установки через панель конфигурации сервера, то есть date_default_timezone_set(), это мера крайняя. Если нет, то в службу поддержки, они установят желаемую временную зону для сервера. 
Если что, что установить временную зону sql можно: SET time_zone = 'Europe/Moscow', или скорректировать локальное время для установленной временной зоны: SET LOCAL time_zone='+hh:mm'.
	 | 
 
	
 
 Мой провайдер (не буду называть) очень крутым себя считает и не идет ни на какие уступки. Сколько я с ними когда-то бился, чтобы позволили увеличить количество переменных в пост-массиве. Меня заверили, что ради меня любимого и моей безопасности они не будут этого делать, и что это вообще невозможно. Очень хотели, чтобы я "купил" виртуальный сервер. 
А недавно я в нужную директорию в  .htaccess вставил строку php_value max_input_vars 2000 и пофиг мне стал провайдер.   . А об этом они умолчали, чтобы я не пробовал, а я поверил и реально не пробовал. 
Куда писать SET LOCAL time_zone='+hh:mm' ? 
Все же иногда да проскользнет в MySql NOW().  
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.09.2015, 18:38
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 14.01.2015 
					
					
					
						Сообщений: 12,989
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Эдди
			
		
	 | 
 
	| 
		Куда писать SET LOCAL time_zone='+hh:mm' ?
	 | 
 
	
 
 Запрос делать.  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |