Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.05.2019, 05:53   #1
dbalor
Форумчанин
 
Аватар для dbalor
 
Регистрация: 06.09.2016
Сообщений: 198
Вопрос PHP время

Здравствуйте, время сохрняется с различных компов по разному

На большинсве компов время сохраняется нормально. Но есть клиентские компы с которых время в базу сохраняется(текущее) в виде 1970-01-01 10:00:00

С делал проверку
Код:
...
$d1 = strtotime($date)
$date2=date("Y-m-d H:m:s",$d1);
...
if($date2==='1970-01-01 00:10:00'){
    $date2=date("Y-m-d H:m:s");
}
вопрос не решило

Поставил в скрипте date_default_timezone_set('UTC')
Вместо 1970-01-01 00:01:00 стало время по 0 мередиану,
у клиента время +9(14ч) а сохранять стало(5ч(утра) у остальных все по прежнему в норме.

Как сделать чтобы в базу сохранялось по местному времени?

Последний раз редактировалось dbalor; 27.05.2019 в 06:05.
dbalor вне форума Ответить с цитированием
Старый 27.05.2019, 06:47   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

База общая для всех или у каждого локальная?
Чем кардинально отличается клиент? Локаль другая? Формат записи дат времени?
Если это сохранение текущего времени, почему его не перенести в слой бд? Now() - точно не будет зависеть от клиентов
ADSoft вне форума Ответить с цитированием
Старый 27.05.2019, 07:25   #3
dbalor
Форумчанин
 
Аватар для dbalor
 
Регистрация: 06.09.2016
Сообщений: 198
По умолчанию

База общая на всех.
Спасибо, как-то я про базу не подумал. Зделал по умолчанию заполнение поля в бд now() -> Проблема решена

Последний раз редактировалось dbalor; 27.05.2019 в 08:42.
dbalor вне форума Ответить с цитированием
Старый 27.05.2019, 09:19   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

скорее всего у клиента стоит локаль, дату время которой - strtotime не может адекватно распознать и преобразовать
ADSoft вне форума Ответить с цитированием
Старый 27.05.2019, 09:22   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от dbalor Посмотреть сообщение
Спасибо, как-то я про базу не подумал. Зделал по умолчанию заполнение поля в бд now()
и на будущее - никогда не верьте клиенту. Если нужно время - всегда берите его с сервера. Даже если нужно на клиенте время получить - есть возможность сделать запрос на сервер - берите время с сервера.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
начальное время и конечное время komra2 C# (си шарп) 5 05.04.2016 22:58
текущее время (системное время ) Sirk0 Общие вопросы Delphi 27 07.03.2015 17:52
Описать, используя структуру данных запись, завод (наименование станка, время простоя в месяц, время работы в месяц). Составить Ксюндра Помощь студентам 1 13.03.2014 17:40
Запуск программы в определенное время ( день и время ) artbotva Общие вопросы Delphi 4 09.11.2012 15:05
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41