Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Input type time - curtime
Forum PHP.pl > Forum > PHP
Deyson
Witam. Potrzebuje w formularzu, mieć input typu czas. W którym po wejściu na strone będzie się wyswietlał aktualny czas.

czyli wchodzimy na stronę o 18:30 w formularzu wyświetla się 18:30, coś jak z curdate


<input class="poleczasu" type="time" name="czasrozpoczecia" required value=09:00>

<input class="poleczasu" type="time" name="czaszakonczenia" required value="<?php echo time(); ?>" >
niestety to nie działa.

Przy okazji mam pytanie, czy można zmienić format żeby zamiast 09:05 wyświetlała się 9:05 ?
trueblue
Format tego typu pola jest zawsze w postaci GG:MM, nie da się usunąć wiodących zer.
Sprawdź co zwraca funkcja time() - zajrzyj do dokumentacji lub źródła strony.
Deyson
Zna ktoś gotową odpowiedź, przeszukałem już cały internet i nie wiem jak to zwrócić żeby było tylko godzina i minuta?

EDIT:

<input class="poleczasu" type="time" name="czaszakonczenia" required value="<?php echo date('H:i'); ?>" >

echo date('H:i');


PYTANIE 2:

Okej teraz tak. Pobieram czas z pola time - czas rozpoczecia i czas zakonczenia - chce obliczyć ile jest czasu między tymi dwoma czasami

$czasrozpoczecia = $_POST['czasrozpoczecia'];
$czaszakonczenia = $_POST['czaszakonczenia'];
$rhb = $czaszakonczenia -$czasrozpoczecia;
echo $rhb;

z tym że chciałbym zeby wynik był np 1:02, bo w tym przypadku odejmując 10:05 - 9:00 wychodzi = 1 a chce żeby wyszło 1:05 jak to zrobic?
trueblue
Też przeszukałeś cały internet?
http://php.net/manual/en/datetime.diff.php#112472
Deyson
Okej, proszę Cię pomóż mi jeszcze żeby zamienić czas który jest pobierany z formularza tak aby mógł trafić do bazy danych.
viking
A pytasz konkretnie o co?
https://dev.mysql.com/doc/refman/5.7/en/time.html
Deyson
Okej teraz mam tego typu problem:

$czasrozpoczecia = '08:00:00';
$czaszakonczenia = '14:30:00';

echo $czasrozpoczecia."<br>";
echo $czaszakonczenia."<br>";

$strStart = $czasrozpoczecia;
$strEnd = $czaszakonczenia;

$dteStart = new DateTime($strStart);
$dteEnd = new DateTime($strEnd);

$dteDiff = $dteStart->diff($dteEnd);


$rhb = $dteDiff->format('%H:%M:%S');
echo $rhb;

exit();


Chodzi o to że powinno być 6 godzin i 30minut a w ogóle minut nie bierze pod uwage, jest ktoś wstanie mi powiedzieć dlaczego?
trueblue
Sprawdź dobrze jaki format zastosowałeś (zajrzyj do dokumentacji i przy okazji porównaj z formatem, który używałeś do aktualnej godziny).
Deyson
Dzięki, widzę już moją pomyłkę , intuicja podpowiedziała mi że M to bedą minuty jednak jest to %I.


Wie ktoś jak sumować godziny żeby nie wychodzily dziwne liczby?

select sum(rhb) from wyniki;
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.