У меня возникли некоторые трудности с пониманием того, что происходит с этим вопросом, который у меня есть. Я создал веб-сервер с помощью centOS, у меня есть html-форма, которую я создал на сервере. проблема заключается в том, что когда я вводим информацию в форму, когда я смотрю на измененное время, она показывает время UTC, а не время EST. причина в том, что это проблема, потому что у меня есть файл, который сохраняется, так как используется дата. поэтому, если время говорит, что это 12:01 утра, но информация была введена в 8:01 вечера, вместо того, чтобы перезаписать файл, собирается создать новый файл с датой завтрашнего дня на нем. Я установил часовой пояс для EST в моем php-коде, но он, похоже, не принимает мой часовой пояс.Дата изменения времени показывает часовой пояс UTC
это код php, который у меня есть.
if(isset($_POST['mydrivers']))
{
date_default_timezone_set('EST');
$month = date('M');
$fp = file('Reports/Shortage/' .$month. '/Shortage'.date('m-d-y'). ".csv");
//$fi = fopen('driver'.date('m-d-y'). ".csv", "a");
$header=array("Date", "Driver", "Customer #", "Invoice #", "Product Description", "Size", "CS", "Btls", "CHK Itls");
$driver = $_POST['drivers'];
$dates = $_POST['dates'];
$custnum = $_POST['customernum'];
$invnum = $_POST['invoicenum'];
$proddesc = $_POST['proddes'];
$sz = $_POST['size'];
$case = $_POST['cs'];
$bottle = $_POST['btls'];
$chkit = $_POST['chkitls'];
$result = '';
$search = "Driver";
$line_number = false;
while(list($key, $line) = each($fp) and !$line_number)
{
$line_number = (strpos($line, $search) !== FALSE);
}
if($line_number)
{
$result .=
$dates. " ,". $driver. " ,". $custnum. ", ". $invnum. ", ". $proddesc. ", ". $sz. " ,". $case. ", ". $bottle. ", ". $chkit. "\r\n";
}
else
{
$result .= implode(",",$header). "\r\n".
$dates. " ,". $driver. ", ". $custnum. " ,". $invnum. ", ". $proddesc. ", ". $sz. ", ". $case. " ,". $bottle. ", ". $chkit. "\r\n";
}
/*foreach ($fp as $file)
{
if(substr($file,0,8) != 'header 1')
{
$result .= implode(",",$header). "\r\n".
$driver. " ". $dates. " ". $custnum. " ". $invnum. " ". $proddesc. " ". $sz. " ". $case. " ". $bottle. " ". $chkit. "\r\n";
}
else
{
$result .=
$driver. " ". $dates. " ". $custnum. " ". $invnum. " ". $proddesc. " ". $sz. " ". $case. " ". $bottle. " ". $chkit. "\r\n";
}
}*/
if(!is_dir('Reports/Shortage/'.$month))
{
mkdir('Reports/Shortage/'.$month, 0777, true);
}
file_put_contents('Reports/Shortage/'.$month. '/Shortage'.date('m-d-y').".csv", $result, FILE_APPEND);
//myfputcsv($fp, $result);
echo "data added!!!";
Это правильный способ установить часовой пояс, или я делаю это совершенно неправильно?
Спасибо за вашу помощь заранее.
Я просто попробовал это, и у меня все те же результаты. время показывается как UTC. –
«Время», что, точно? Здесь нет кода, который не является датой «m-d-y», которая в течение большей части дня была бы такой же, независимо от того, находитесь ли вы в Нью-Йорке или Лондоне ... мы имеем в виду время сервера в командной строке? Звонки в базу данных? Возможно, вы хотите установить часовой пояс в php.ini? –
Время, о котором я говорю, это время изменения. когда я перехожу на IP-адрес сервера, где находится программа, я смотрю в каталог и смотрю на дату изменения, он показывает текущую дату, но время будет на 5 часов вперед. например, я добавляю в новый элемент, запускаю свой скрипт и перезаписывает файл, если он есть, и добавляет новую информацию. когда я оглядываюсь назад в каталоге, он будет отображаться измененным 8/11/2016 10:18:13 pm. Время, которое оно показывает, когда файл был изменен, - это время, о котором я говорю. Я не знаю, является ли это настройкой сервера, которую мне нужно изменить или что. –