DenVeroid
Новичок
Определить по времени разницу чисел
итак, вопрос конечно для меня сложноватый, поэтому я решил обратиться к вам за помощью, до этого подобное ничего не делал,
вообщем вопрос состоит так
берем отчетный переод например 6 часов и смотрим изменения за
это время - если курс вырос то "+0,0056" если же курс упал то "-0,0056 "
Изменение примерно как на http://www.yandex.ru/ обозначают +0,0056
за расчетную точку взять например 13:00 MSK
есть таблица table и вней столбци
- purchase(double)
- id(int) auto_increment
- date(varchar50)
в столбце date храниться дата создаваемая в запросе при помощи now()
в столбце purchase храняться как целые числа так и числа с плавующей точкой тоесть 2,4
ну в столбце id автомотически создоваемый номер записи
так вот, нужно я так понимаю определить настоящее время
этим мы вывели последнее добавленное число за последнюю дату
дальше нужно как то вычислить за опрделённое время другое число
допустим нужно нам найти чило шестидавной давности, тоеть что было добавлено 6 часов назад, я так понимаю не больше ни меньше
часов, минуты можно опустить в принципе они разнице не играют
делаю так
но тут запрос выводит только за последние 6 часов, получается что он выводит и за сегодюшнюю дату
а мне нужно не за последние шесть часов, а именно в точке шесть часов, так думаю по понятнее будет
каким образом это можно сделать?
да, и такой ещё вопрос, как было сказано выше отсчёт времени должен производиться по MSK тоесть по московскому времени, таким
образом можно определить московское время, я так понимаю тут надо знать пояс типа -7 или +7, но как правенльно это слелать,
может есть по этому примеры
-~{}~ 01.02.05 21:45:
вот напсиал, незнаю вроде работает, но какие последствия могут потом быть, этого и боюсь, в друг неправельно посчитает
но тут всёравно нужно както указывать время по часовому поясу, по московскому времени, вот только как, если кто знает помогите пожалуйста, и ещё нужно правельно выводить числа как обычно делают: "-0,0056" или "+0,0056"
тоесть разделяються запятой, подставлюются нули, как так можно сделать?
а то у меня выводятся так
+18 или -18
итак, вопрос конечно для меня сложноватый, поэтому я решил обратиться к вам за помощью, до этого подобное ничего не делал,
вообщем вопрос состоит так
берем отчетный переод например 6 часов и смотрим изменения за
это время - если курс вырос то "+0,0056" если же курс упал то "-0,0056 "
Изменение примерно как на http://www.yandex.ru/ обозначают +0,0056
за расчетную точку взять например 13:00 MSK
есть таблица table и вней столбци
- purchase(double)
- id(int) auto_increment
- date(varchar50)
в столбце date храниться дата создаваемая в запросе при помощи now()
в столбце purchase храняться как целые числа так и числа с плавующей точкой тоесть 2,4
ну в столбце id автомотически создоваемый номер записи
так вот, нужно я так понимаю определить настоящее время
PHP:
SELECT * FROM table WHERE date>=curdate()
или так
SELECT * FROM table ORDER BY date desc
дальше нужно как то вычислить за опрделённое время другое число
допустим нужно нам найти чило шестидавной давности, тоеть что было добавлено 6 часов назад, я так понимаю не больше ни меньше
часов, минуты можно опустить в принципе они разнице не играют
делаю так
PHP:
SELECT * FROM table WHERE date>=subdate(curdate(), interval 6 hour)
а мне нужно не за последние шесть часов, а именно в точке шесть часов, так думаю по понятнее будет
каким образом это можно сделать?
да, и такой ещё вопрос, как было сказано выше отсчёт времени должен производиться по MSK тоесть по московскому времени, таким
образом можно определить московское время, я так понимаю тут надо знать пояс типа -7 или +7, но как правенльно это слелать,
может есть по этому примеры
-~{}~ 01.02.05 21:45:
вот напсиал, незнаю вроде работает, но какие последствия могут потом быть, этого и боюсь, в друг неправельно посчитает
PHP:
$result = mysql_query("SELECT * FROM table WHERE date>=curdate() ORDER BY date desc");
$row=mysql_fetch_array($result);
$new_num = $row['purchase'];
$result = mysql_query("SELECT * FROM table WHERE date>=subdate(curdate(), interval 6 hour) ORDER BY date asc");
$row=mysql_fetch_array($result);
$old_num = $row['purchase'];
if($old_num < $new_num){
$numreal = ($new_num + $old_num);
$numreal ='+'.$numreal;
}else{
$numreal = ($old_num - $new_num);
$numreal ='-'.$numreal;
}
echo 'old '.$old_num.' - new '.$new_num.'<br>';
echo $numreal;
но тут всёравно нужно както указывать время по часовому поясу, по московскому времени, вот только как, если кто знает помогите пожалуйста, и ещё нужно правельно выводить числа как обычно делают: "-0,0056" или "+0,0056"
тоесть разделяються запятой, подставлюются нули, как так можно сделать?
а то у меня выводятся так
+18 или -18