Autor | Zpráva | ||
---|---|---|---|
undisputed Profil |
#1 · Zasláno: 16. 6. 2011, 15:44:17
mám vypísaný čas z DB napr 16:00 ale potreboval by som k tomu pripočítať napr 5000 sekúnd ale ten čas (16:00)mám uložený v premennej ako to k tomu pripočítať?
lebo takto $cas4=("$cas",Time()+50000); mi to nefunguje |
||
l564 Profil |
#2 · Zasláno: 16. 6. 2011, 16:43:47 · Upravil/a: l564
|
||
Sweetko Profil * |
Hmm, náhodička že jsem si s tím zrovna chtěl hrát, tak jsi mě do toho dostal :)
<?php header('Content-Type: text/html; charset=utf-8'); setlocale( LC_ALL, "Czech"); $timeStamp = mktime( 17, 08, 20, 10, 30, 2004 ); echo date( "d.m.Y ( H:i:s ) T\n", $timeStamp ); ?> mktime má formát( hodina, minuta, sekunda, měsíc, den, rok ) d.m.Y je den.měsíc.rok ( H:i:s ) je ( hodina:minuta:sekunda ) Vše co napíšeš do mktime se ti samo přepočte do toho tvaru date(); který vypíšeš. Jaký formát má tvůj čas v proměnné který taháš z db? Tvůj příklad by mohl být nějak takto: <?php header('Content-Type: text/html; charset=utf-8'); setlocale( LC_ALL, "Czech"); $timeStamp = mktime( $hour, $minute, $sec + 50000, $month, $day, $year ); echo date( "d.m.Y ( H:i:s ) T\n", $timeStamp ); ?> Když chceš jen vypsat čas tak za mont day a year můžeš dosadit 0 a date přepsat na date( "H:i:s", $timeStamp ); |
||
undisputed Profil |
#4 · Zasláno: 16. 6. 2011, 17:08:58
nie neriešim, dal som to do novej témy aby to bolo prehladné ;)
k tomu článku nie je tam nič čo potrebujem klasické pripočítanie viem to je to čo aj tam date(’Y-m-d H:i:s’, strtotime("+7 days")); // Přičte 7 dní ale ja potrebujem pripočítať tak keď mám na miesto ’Y-m-d H:i:s’ |
||
undisputed Profil |
#5 · Zasláno: 16. 6. 2011, 17:11:14
Sweetko:
No vyzerá to zaujímavo, ale nie je to moc zložité ?nedá sa to nejak lahším spôsobom? lebo ja v tej premennej čas mám uložený len čas vo formáte H:i:s teda napr 18:25:00 a vždy k tomu aký vyberem z DB chcem pripočítať niečo |
||
Sweetko Profil * |
#6 · Zasláno: 16. 6. 2011, 17:19:11
Řešení tu mám, asi bude jednodušší ale podle mě je tohle 100%.
<?php $date = "18:25:00"; echo $date . "<br />"; $dateE = explode( ":", $date ); $timeStamp = mktime( $dateE[ 0 ], $dateE[ 1 ] + 50000, $dateE[ 3 ], 0, 0, 0 ); $dateNew = date( "H:i:s", $timeStamp ); echo $dateNew; ?> |
||
undisputed Profil |
#7 · Zasláno: 16. 6. 2011, 17:21:10
aha okej ďakujem, dnes už nestíham, ale zajtra vyskúšam
|
||
Sweetko Profil * |
#8 · Zasláno: 16. 6. 2011, 17:23:41
Hmm, tak za prve $dateE[ 2 ], mám tam 3 a nevim jestli je to važně 100%, snad ano když se měří čas o půl noci roku 2000.
Není za co :) |
||
undisputed Profil |
#9 · Zasláno: 16. 6. 2011, 17:27:16
A neviem ale keď som to len skopíroval ten posledný kód tak aj tak nejde
|
||
Tori Profil |
#10 · Zasláno: 16. 6. 2011, 20:31:06
|
||
undisputed Profil |
#11 · Zasláno: 17. 6. 2011, 13:56:03
Tori:
to mi nič nepomôže |
||
blaaablaaa Profil |
#12 · Zasláno: 17. 6. 2011, 14:55:40
undisputed:
Ale pomůže, v Toriho odkazech najdeš vše potřebné, pokud ti to ani tak nepůjde, ukaž část kódu, která ti nejde / se kterou si nevíš rady. |
||
Sweetko Profil * |
#13 · Zasláno: 17. 6. 2011, 15:48:52
Napadlo mě teď sepsat nový kód, asi méně zbytečně složitý než předchozí příklad.
<?php // Čas z tabulky $dateDb = "15:45:45"; // Rozlišit hodiny minuty a vteřiny $dateDbE = explode( ":", $dateDb ); // Převést na sekundy $time = ( $dateDbE[ 0 ] * 60 *60 ) + ( $dateDbE[ 1 ] * 60 ) + $dateDbE[ 2 ]; // Přičíst požadovaný počet sekund $time += 50000; // V požadovaným formátu $dateNew = date( "H:i:s", $time ); echo $dateNew; ?> Nezkoušel jsem tak napiš výsledek prosím jo. |
||
Sweetko Profil * |
#14 · Zasláno: 17. 6. 2011, 16:02:52
NE NE NE, to nemůže fungovat správně.
|
||
Tori Profil |
#15 · Zasláno: 17. 6. 2011, 16:04:25 · Upravil/a: Tori
undisputed:
Klidně to můžete udělat i pomocí dvou strtotime - jedním si převedete řetězec na čas a druhým ten čas změníte (koukněte se na druhý parametr té funkce). Sweetko: <mimo-téma> Jednou z výhod registrace na tomto fóru je možnost měnit své příspěvky ještě 24hod po odeslání. </mimo-téma> |
||
Časová prodleva: 3 dny
|
|||
petr 6 Profil |
#16 · Zasláno: 20. 6. 2011, 14:59:19
$mojepromenna="2011-06-20 14:50:25"; $novapromenna=date("Y-m-d G:i:s",strtotime($mojepromenna." +5000 seconds ")); |
||
Časová prodleva: 13 let
|
0