Переменные

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
qartz90
Сообщения: 6
Зарегистрирован: Пт сен 08, 2017 9:03 am
Благодарил (а): 0
Поблагодарили: 0

Переменные

Сообщение qartz90 » Ср окт 18, 2017 7:25 pm

Прошу прощения если дублирую тему, но я обшарил мельком много тем и ненашел своей проблемы...

Суть моего обращения к многоуважаемым завсегдатаям такова :
Имею модуль openweathermap
Имею желание перевести timestamps в удобно читаемый вид. Имею для этого функцию вида $currentTime = date ("h:i:s", 'имя функции в timestamps' ); где имя функции это функция из thiscomputer приравнянная к временной функции в коде php.

Значится в чем вся суть проблемы... Параметры которые есть в свойствах thiscomputer , отрабатывает на ура, но параметр из openweathermap отказывается. Я пытался приравнять функцию к временной, пытался вычислить время напрямую , но как бы я не делал, постоянно вылетает ошибка...
Вот пример кода :

//привяжем свойство openWeatherMap к ThisComputer
setGlobal('ThisComputer.SunRise', OpenWeatherMap.SunRise );//данные приложения open weather map "восход ow_day0"

//переменная
$uptime = gg($ThisComputer.uptime);
$sunRise = $ThisComputer.SunRise;
//$sunSet = $ow_day0.sunset; //данные приложения open weather map "заход ow_day0", где ow day0, нулевой или текущий день...

//формула
$currentTime = date ("h:i:s",$uptime );
$sunrise = date ("h:i:s", $sunRise );
//$sunset = date ("h:i:s",strtotime($sunSet) );

//вывод,не несет в себе никакой ценности
echo "<br \>";
echo "uptime";echo "&nbsp&nbsp";print_r($currentTime);
echo "<br \>";
echo "восход";echo "&nbsp&nbsp";print_r($sunrise);
echo "<br \>";
echo "заход";echo "&nbsp&nbsp";print_r($sunset);


Я прошу прощения за нелепость кода, мб так не далается, или есть более простое решение, я хотел бы привязать unix метки к реальному времени и использовать это время в скриптах, без прибегания к веб переменным, чтобы упростить жизнь для тех кто пользуется приложением, которое имеет временные метки и их не нужно было бы искать на других ресурсах.


Спасибо за помощь , прошу прощение за нелепость моего поста.

*** Сообщение запрещено. Включите JavaScript. ***
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Переменные

Сообщение Jilber » Ср окт 18, 2017 7:31 pm

Перевожу в нормальное время таким скриптом:
СпойлерПоказать
$sunrise=timeNow(timeConvert(gg("ow_fact.sunrise")));
sg('ThisComputer.SunRiseTime', $sunrise);
$sunset=timeNow(timeConvert(gg("ow_fact.sunset")));
sg('ThisComputer.SunSetTime', $sunset);
$daylength=timeNow(timeConvert(gg("ow_fact.day_length")));
sg('ThisComputer.LengthDay', $daylength);
Скрипт выполняется каждый раз при обновлении погоды модулем "OpenWeatherMap". К сожалению время сохраняется в свойства в таком виде: "7 часов 7 минут". Как переделать в "07:07" к сожалению не знаю.
Logrus
Сообщения: 2079
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 313 раз
Поблагодарили: 457 раз

Re: Переменные

Сообщение Logrus » Ср окт 18, 2017 8:19 pm

никита, уже запарился объяснять этот вопрос, в ветке модуля на последних страницах есть
у меня в коннекте (честно стырено на просторах форума) скрипты - служебные - CalcSunSetRise

Код: Выделить всё

$lat=gg('ThisComputer.latitude');   // широта
$long=gg('ThisComputer.longitude'); // долгота         
создать в ThisComputer свойство со своими значениями координат (к примеру дача может отличаться от координат города в метеопрогнозе, незначительно или вообще отсутствовать интернет и прогноз погоды со всеми вытекающими), пишет туда же в формате чч:мм
запуск скрипта в onNewHour (три раза в сутки конечно лишнее, можно в 24:00) и ThisComputer метод StartUp запускает при старте скрипт ifstart

либо о чем выше http://php.net/manual/ru/function.date.php

Код: Выделить всё

$sunrise=gg('ow_fact.sunrise'); 
sg('ThisComputer.SunRiseTime',date("H:i", $sunrise)); 
по аналогии остальное с "openweather Погода Open Weather Map" ow_fact.sunrise
там нет такого как OpenWeatherMap.SunRise
Последний раз редактировалось Logrus Ср окт 18, 2017 9:25 pm, всего редактировалось 2 раза.
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: Переменные

Сообщение nightwind » Ср окт 18, 2017 9:00 pm

если я правильно понял логику этого OpenWeatherMap, то

Код: Выделить всё

setGlobal('ThisComputer.SunRise', OpenWeatherMap.SunRise );//данные приложения open weather map "восход ow_day0"    
неправильно.
должно быть

Код: Выделить всё

setGlobal('ThisComputer.SunRise', gg('OpenWeatherMap.SunRise') );//данные приложения open weather map "восход ow_day0"    
Ответить