 1
 1
 
Серверное время в WEB-версии программы
		 Автор Dimdim, 09 сент. 2010 11:46
	
	
	
		Сообщений в теме: 12
	
		
#1
Отправлено 09 Сентябрь 2010 - 11:46
					Здравствуйте!
У нас сервер с программой находится в Москве, а мы в Сибири, и разница в повремени у нас составляет 3 часа.
Когда мы добавляем какое-либо сообщение время указывается Московское т.е. на 3 часа раньше чем у нас. У нас 12-00, а в сообщении пишется 9-00.
Не очень удобно.
Как исправить время, чтобы оно было с поправкой на наш часовой пояс?
					
				
				
				
			
				У нас сервер с программой находится в Москве, а мы в Сибири, и разница в повремени у нас составляет 3 часа.
Когда мы добавляем какое-либо сообщение время указывается Московское т.е. на 3 часа раньше чем у нас. У нас 12-00, а в сообщении пишется 9-00.
Не очень удобно.
Как исправить время, чтобы оно было с поправкой на наш часовой пояс?
#2
Отправлено 09 Сентябрь 2010 - 12:28
					Пока к сожалению никак, в дальнейшем видимо добавим настройку.
					
					
					
				
				
				
			
				#3
Отправлено 09 Сентябрь 2010 - 13:20
					Может возможно на хостинге настройки как-то серверного времени изменить не затрагивая программу?
					
					
					
				
				
				
			
				#4
Отправлено 09 Сентябрь 2010 - 13:31
					Это вам нужно уточнить у своего хостера, может и возможно.
Как вариант можно сделать данное поле вычисляемым, т.е. записывать время не через шаблон "текущее время", а вычислять нужное вам значение через php-код.
					
				
				
				
			
				Как вариант можно сделать данное поле вычисляемым, т.е. записывать время не через шаблон "текущее время", а вычислять нужное вам значение через php-код.
#5
Отправлено 10 Сентябрь 2010 - 08:23
 Разработчик (9.9.2010, 13:31) писал:
Разработчик (9.9.2010, 13:31) писал:
Это вам нужно уточнить у своего хостера, может и возможно.
Как вариант можно сделать данное поле вычисляемым, т.е. записывать время не через шаблон "текущее время", а вычислять нужное вам значение через php-код.
Как вариант можно сделать данное поле вычисляемым, т.е. записывать время не через шаблон "текущее время", а вычислять нужное вам значение через php-код.
Если не сложно, можете подсказать, какой код нужно написать в вычисляемом поле, чтобы был сдвиг по времени на + 3 часа.
#6
Отправлено 10 Сентябрь 2010 - 08:56
$cur_rec = data_table("Ваша таблица", "id={ID}");  // считываем текущую запись в массив
if ($cur_rec['Ваше поле с датой'] == "0000-00-00 00:00:00") {  // если поле пустое, то
	$my_time = date("Y-m-d H:i:s", mktime(date("H")+3, date("i"), date("s"), date("m"), date("d"), date("Y")));  // вычисляем тек. время + 3 часа
} else {
	$my_time = $cur_rec['Ваше поле с датой'];  // иначе ничего не меняем
}
return $my_time;  // возвращаем полученный результат
					
					#7
Отправлено 10 Сентябрь 2010 - 10:32
					Поместил в ВЫЧИСЛЕНИЯ код, но не работает, проверите, пожалуйста, что не так, может еще какие-то строки должны быть (выборка массива из таблицы, или еще что-то), может я в имени таблицы или имени поля, что-то не так написал:
					
				
				
				
			
				$cur_rec = data_table("cb_data79", "id={ID}");  // считываем текущую запись в массив
if ($cur_rec['f867'] == "0000-00-00 00:00:00") {  // если поле пустое, то 
	$my_time = date("Y-m-d H:i:s", mktime(date("H")+3, date("i"), date("s"), date("m"), date("d"), date("Y")));  // вычисляем тек. время + 3 часа
} else {
	$my_time = $cur_rec['f867'];  // иначе ничего не меняем
}
return $my_time;  // возвращаем полученный результат
					
					#8
Отправлено 10 Сентябрь 2010 - 10:39
					В функции data_table используется имя таблицы в программе, а не ее внутреннее имя в бд. То же и с полями массива, который она возвращает. Собственно для этого она и создана (в целях упрощения программирования)
http://www.clientbas...n_16/php-polya/
					
				
				
				
			
				http://www.clientbas...n_16/php-polya/
#9
Отправлено 10 Сентябрь 2010 - 11:11
					Изменил код, но ничего не  меняется
Код:
					
				
				
				
			
				Код:
$cur_rec = data_table("Доходы", "id={ID}"); // считываем текущую запись в массив
if ($cur_rec['Время'] == "0000-00-00 00:00:00") { // если поле пустое, то
	$my_time = date("Y-m-d H:i:s", mktime(date("H")+3, date("i"), date("s"), date("m"), date("d"), date("Y"))); // вычисляем тек. время + 3 часа
} else {
	$my_time = $cur_rec['Время']; // иначе ничего не меняем
}
return $my_time; // возвращаем полученный результат
					
					#10
Отправлено 11 Сентябрь 2010 - 13:51
					Пришлите бэкап на support@clientbase.ru, проверю что у вас не так. У нас код работает.
					
					
					
				
				
				
			
				#11
Отправлено 11 Сентябрь 2010 - 16:10
					Отправил Вам бэкап на почту.
					
					
					
				
				
				
			
				#12
Отправлено 13 Сентябрь 2010 - 08:21
					Значение по умолчанию (текущее время) надо выключить. Иначе код не работает по причине не пустого значения поля.
					
					
					
				
				
				
			
				#13
Отправлено 13 Сентябрь 2010 - 09:41
					Спасибо. Все заработало  !
 !
					
					
					
				
				
				
			
				 !
 !
					
					Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных



 
				
				










