Страница 1 из 1

Переменные

Добавлено: Ср окт 18, 2017 7:25 pm
qartz90
Прошу прощения если дублирую тему, но я обшарил мельком много тем и ненашел своей проблемы...

Суть моего обращения к многоуважаемым завсегдатаям такова :
Имею модуль 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. ***

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

Добавлено: Ср окт 18, 2017 7:31 pm
Jilber
Перевожу в нормальное время таким скриптом:
СпойлерПоказать
$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" к сожалению не знаю.

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

Добавлено: Ср окт 18, 2017 8:19 pm
Logrus
никита, уже запарился объяснять этот вопрос, в ветке модуля на последних страницах есть
у меня в коннекте (честно стырено на просторах форума) скрипты - служебные - 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

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

Добавлено: Ср окт 18, 2017 9:00 pm
nightwind
если я правильно понял логику этого OpenWeatherMap, то

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

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

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

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