Определить по времени разницу чисел

Статус
В этой теме нельзя размещать новые ответы.

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 автомотически создоваемый номер записи


так вот, нужно я так понимаю определить настоящее время
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)
но тут запрос выводит только за последние 6 часов, получается что он выводит и за сегодюшнюю дату

а мне нужно не за последние шесть часов, а именно в точке шесть часов, так думаю по понятнее будет

каким образом это можно сделать?

да, и такой ещё вопрос, как было сказано выше отсчёт времени должен производиться по 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
 

Yurik

/dev/null
Вы пытаетесь писать программу не поставив цель, т.е. не определив задачу. Когда поставите задачу думаю решение появится само собой.
 

DenVeroid

Новичок
Yurik, как именно я должен поставить задачу?

мне нужно получить првельное число чтобы выглядело оно так +0,0056

или поставить задачу таким образом: мне нужно получить из базы данных курс валют в виде изменения, тоесть при падении курса выводить на сколько упал и подставлять минус или при повышении курса подставлять плюс

но и даже с такой поставенной задачи я в ослажнении написании поставленной мной задачи, я и пришол запомощью, дабы решить эту задачу

я ведь не прошу дать готовый код
но и даже с такой поставенной задачи я
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Тема закрыта за неуважение к русскому языку. Подсказка: в модной программе Word есть проверка орфографии.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху