Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #271 (permalink)  
Старый 12.02.2018, 14:48
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Сообщение от laimas
Вы запросили за текущий день курс, которого еще нет, поэтому и 0.
наверно так и есть, просто решил проверить и запустил крон в ручную, там кнопка обновить информацию
Ответить с цитированием
  #272 (permalink)  
Старый 12.02.2018, 14:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от spinastr
то есть курса на сегодня нет ссылка
Естественно, поэтому и не запрашивайте его раньше времени.
Ответить с цитированием
  #273 (permalink)  
Старый 12.02.2018, 14:49
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

то есть если в 0:00 каждый день запрашивать всё будет нормально? и 0 больше не будет?
Ответить с цитированием
  #274 (permalink)  
Старый 12.02.2018, 14:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Ну я же русским языком написал за какой период запрашивается курс. Сейчас 12, торги еще не закончены, курса нового на этот день еще нет. Для всех торгующих курс на сегодня, это курс 11 числа.

В 0:00 (можете не 00 минут сделать, а 5, дабы учесть погрешности во времени) часов (это будет 13 уже) будет запрошен курс за 10-12, в это время новый курс уже будет установлен. В json он будет записан по датой 13, а предыдущий под датой 12.
Ответить с цитированием
  #275 (permalink)  
Старый 12.02.2018, 15:06
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

Ясно , спасибо!
Ответить с цитированием
  #276 (permalink)  
Старый 12.02.2018, 15:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сервер должен работать обзательно по московскому часовому поясу, любой часовой пояс восточнее Москвы будет приводить к такой ошибке.
Ответить с цитированием
  #277 (permalink)  
Старый 12.02.2018, 16:00
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
Всё верно?
Ответить с цитированием
  #278 (permalink)  
Старый 12.02.2018, 16:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Мне откуда знать когда это происходило. Если эта дата/время соответствует московскому то да.
Ответить с цитированием
  #279 (permalink)  
Старый 12.02.2018, 16:43
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,
да соответствует, можете подсказать тут?
Ответить с цитированием
  #280 (permalink)  
Старый 13.02.2018, 00:17
Профессор
Отправить личное сообщение для spinastr Посмотреть профиль Найти все сообщения от spinastr
 
Регистрация: 02.05.2016
Сообщений: 390

laimas,

Крон сработал и обновил в 0:05 по Московскому, одни нули

{"current":{"date":"13.2.2018","value":0,"rate":0},"previous":{"date":"12.2.2018","value":0,"rate":0}}

У ЦБ на 13 число курс отображается и нет нулей ссылка

Что тут может быть не так? Всё посмотрел, крон точно проверил, обновил всё сам и вовремя.
<?
$dir = dirname(__FILE__);
chdir($dir);

libxml_use_internal_errors();
if($xml = simplexml_load_file('http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1='.date('d/m/Y', strtotime('-3 day')).'&date_req2='.date('d/m/Y', strtotime('-1 day')).'&VAL_NM_RQ=R01235')) {
    $last = round((float)str_replace(',', '.', current($xml->Record[0]->Value)), 2);
    $usd_prev = round((float)str_replace(',', '.', current($xml->Record[1]->Value)), 2);
    $usd_curr = round((float)str_replace(',', '.', current($xml->Record[2]->Value)), 2);
    
    chmod($dir, 0777);
    
    file_put_contents('current.json',
        json_encode(
            array(
                'current' => array(
                'date' => date('j.n.Y'),
                'value' => $usd_curr,
                'rate' => intval($usd_curr > $usd_prev) 
            ),
            'previous' => array(
                'date' => date('j.n.Y', strtotime('-1 day')),
                'value' => $usd_prev,
                'rate' => intval($usd_prev > $last)
            )
        ))
    );
    
    chmod($dir, 0700);
}
?>

Последний раз редактировалось spinastr, 13.02.2018 в 14:04.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод контента в модалном окне, чтобы к нему можно было обратиться по ссылке decadent42 jQuery 3 11.04.2016 15:12
Преключатель валют alexmixaylov jQuery 7 21.10.2014 13:10
Проблема с выводом курса валют bubanay Элементы интерфейса 0 20.12.2013 20:42
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05