Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] jak przekształcić czas na wartość i spowrotem
grudziu
post 23.08.2007, 11:38:50
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.09.2006
Skąd: Gdansk

Ostrzeżenie: (0%)
-----


Witam,
mam taki problem. Tworze aplikację, która pobierać będzie wartości (i umieszczać je na osi OY) oraz czas kiedy te wartości będą występować (to umieszczane będzie na osi OX). Czyli np wykres temperatury w czasie- temp na OY czas na OX.

Posiadam w czterech zmiennych wartości czasu, zmienne to:
$hh-godziny, $mm-minuty, $ss-sekundy, $ms-milisekundy.
Te wartości przekształcam na jedną wartość, żeby przeskalować odpowiednio wykresy.
Zmienna ta obliczana jest wg następującego wzoru: $czas_wartosc=60*60*$hh+60*$mm+$ss+0.001*$ms. Czyli w pewnym sensie jest to wyrażone w sekundach.

Chciałbym, żeby na osi OX zawsze zaznaczane były tylko 6 wartości: czas_min, czas_max i cztery wartości proporcjonalne w tym przedziale, tak żeby w przypadku dużej ilości punktów pomiarowych nie zawalić opisami osi OX.
Rozwiązuje to w ten sposob:

$czas_na_stale[0]=$czas_min;
$czas_na_stale[1]=$czas_min+($czas_max-$czas_min)*1/5;
$czas_na_stale[2]=$czas_min+($czas_max-$czas_min)*2/5;
$czas_na_stale[3]=$czas_min+($czas_max-$czas_min)*3/5;
$czas_na_stale[4]=$czas_min+($czas_max-$czas_min)*4/5;
$czas_na_stale[5]=$czas_max;

Otrzymuje ładny wykres, tzn mam 6 punktów równo oddalonych od siebie.

Teraz pojawia się problem. Chciałbym na potrzeby wykresów opisać te sześć punktów, nie wiem jak spowrotem wartość $czas_na_stale można przekształcić w wartość w formacie HH:MM:SS.ms questionmark.gif a może macie inny pomysl jak to rozwiązać?questionmark.gif
pozdrawiam


--------------------
Inteligentny dom inteligentny dom tanio
Inteligentny budynek Automatyka budynkowa
LONworks KNX KNX
sklep KNX sklep eib
Go to the top of the page
+Quote Post
phpion
post 23.08.2007, 12:02:08
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Nie do końca zrozumiałem Twój problem, ale możliwe, że przydatne będą Ci w zasadzie tylko 2 funkcje:
- strtotime" title="Zobacz w manualu PHP" target="_manual do przekształcenia daty na format unixowy
- date" title="Zobacz w manualu PHP" target="_manual do odpowiedniego sformatowania powyższego
Go to the top of the page
+Quote Post
misiek172
post 23.08.2007, 12:22:53
Post #3





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


ja osobiście do zapisu daty używam

mktime();

która zamienia date na liczbe sekund od 1970.

można wtedy dowolnie na niej operować, a wyświetla się poprzez

date('d.m.Y', $zmienna_z_sekundami);


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
grudziu
post 23.08.2007, 12:23:06
Post #4





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.09.2006
Skąd: Gdansk

Ostrzeżenie: (0%)
-----


właśnie mam troche kłopot z poprawnym sformułowaniem mojego problemu.

Jeszcze raz:
Wiadomo, ze żeby narysować wykres należy czas zapisać jako wartość. Ja ten czas przekształcam poprzez wzór $czas_wartosc=60*60*$hh+60*$mm+$ss+0.001*$ms.

Nie znałem wczesniej funkcji o których piszecie we wcześniejszych postach, najwyżej przerobie mój skrypt, ale podejrzewam, że trochę to czasu zajmie, mam nadizeje ze ktoś jeszcze udzieli mi wskazówki.

W wyniku działania mojego skryptu dostaje taki wykres:



I teraz pytanie: jak wartośc 62890.644 zamienić spowrotem na 17:28:10.644 tylko w celu opisania osi OX nie jako liczba ale jako godzina,minuta, sekunda i milisekunda.

Ten post edytował grudziu 23.08.2007, 12:25:30


--------------------
Inteligentny dom inteligentny dom tanio
Inteligentny budynek Automatyka budynkowa
LONworks KNX KNX
sklep KNX sklep eib
Go to the top of the page
+Quote Post
phpion
post 23.08.2007, 13:48:54
Post #5





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Na osi OX uzywaj unixowego formatu czasu i nie będziesz miał żadnych problemów.
Go to the top of the page
+Quote Post
grudziu
post 23.08.2007, 14:44:18
Post #6





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 25.09.2006
Skąd: Gdansk

Ostrzeżenie: (0%)
-----


Problem rozwiązany, rozwiązanie znajduje się tutuaj:
http://www.coderscity.net/sutra71386.html&...81ec664c5#71386


--------------------
Inteligentny dom inteligentny dom tanio
Inteligentny budynek Automatyka budynkowa
LONworks KNX KNX
sklep KNX sklep eib
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.06.2025 - 12:35