Jak obliczyc jaka data (w postaci dzien, godzina, minuta, sekunda) byla przed 1 dniem, 38 godzinami, 5 minutami i 7 sekundami ??
:)
Jak obliczyc jaka data (w postaci dzien, godzina, minuta, sekunda) byla przed 1 dniem, 38 godzinami, 5 minutami i 7 sekundami ??
:)
Przelicz wszystko na sekundy odejmij, przelicz z powrotem i heyah
// Joke [niewinnosc]
A tak serio to zrób z tego słupek:
na razie na samej godzinie:
13:20:16 // godzina, kóra jest teraz (odjemna)
51 // pożyczamy od wartości z lewej strony (pamiętając, że 1min = 60 s)
13:20:16
57:51 <span style="color: darkblue">// znowu musimy pożyczyć ( j/w ) :d od 20 pożyczyliśmy wcześniej 1 czyli teraz jest 19-22 , czyli (po pożyczeniu) 79-22 czyli 57</span>
13:20:16
11:58:51 // pożyczyliśmy jeden od 13 i teraz jest 12-01 czyli 11
czyli 1 godzinę 22 minuty 25 sekund temu była 11:58:51
////*teraz dorzucę dni i miesiące *///
23:11:58:51 <span style="color: darkblue">// od siedmiu nie odejmiemy 15 więc pożyczamy (<span style="color: red">UWAGA! tym razem pożyczamy 31, gdyż tyle dni ma sierpień.</span> Gdyby to był luty to dodatkowo trzeba by było sprawdzić czy rok przestępny) czyli 07+31-15 = 23</span>
07:23:11:58:51 // pożyczyliśmy 1 od 08 czyli mam 7
############# #PODSUMOWANIE# #############Mamy datę 07:08:br (ort! roku, bo przyjmujemy, że rok jest ten sam)
oraz godzinę 13:20:16
15 dni 1 godznę 22 minuty i 25 sekund temu był 23 lipca 11:58:51 , co przekazuje zapis br:07:23:11:58:51
Myślę, że wszystko jest jasne. Pozdrawiam zapraszam do kodzenia sampla [browar] Milka
A zamiast się tak za przeproszeniem chrzanić lepiej użyć typu TDateTime, który można spokojnie odejmować i dodawać.
Np.
Label1.Caption:=DateTimeToStr(Now-(1{dni}+EncodeTime(18{h},5{m},7{s},0{ms})));
zmieniłem 38 na 18 żeby było z sensem (h<24). Jak musi być 38 h to wstaw 38 mod 24 do godzin i dodaj 38 div 24 do dni.
Polecam też liczne wbudowane w Delphi (głównie w moduł DateUtils) procedury i funkcje operujące na datach i czasach.
Miałem wene twórczą [pisze]