Autor | Zpráva | ||
---|---|---|---|
malek Profil |
#1 · Zasláno: 25. 1. 2006, 15:34:17
ako zistim najdednoduchsie rozdiel dvoch datumov? viem to spravit len na sekundy, a potom tie sekundy rozpocitat bud na hodiny, alebo dni... Nieje jednoduchy prikaz aby to hodilo hned do formatu? 2dni 3hod 5min.. ?
|
||
PerToon Profil |
#2 · Zasláno: 25. 1. 2006, 15:36:56
V jakým jazyce nebo skriptu? Ale myslím že je to je jedno, že to stejně všechno bude přes sekundy.
|
||
malek Profil |
#3 · Zasláno: 25. 1. 2006, 15:59:56
v php. tak ako spravim stoho podobny format 2dni 3hod 5min.. ?
|
||
jozob Profil |
#4 · Zasláno: 25. 1. 2006, 16:12:11 · Upravil/a: jozob
malek
Ak je to PHP, najjednoduchšie sa pracuje s tzv. time stamp. Je to celé číslo (v našich vekoch je zatiaľ 10-miestne :-)), ktoré určuje počet mikrosekúnd od roku 1970, 1:00 AM. Tento tvar dátumu sa dá získať pomocou funkcie time() - aktuálny čas. Takisto sa dá vyrobiť ľubovoľný dátum, funkciou mktime(). Príklad: $aktualny=time(); //dnesny datum Pozn.: Dátum v obyčajnom tvare sa vypíše pomocou funkcie date(), ako prvý parameter sa uvedie tvar dátumu, ako druhý parameter sa použije náš timestamp. Viac informácii v PHP manuále. Formátovanie dátumu Timestamp pre aktuálny čas Timestamp pre ľubovoľný čas |
||
malek Profil |
#5 · Zasláno: 25. 1. 2006, 16:34:14
diky, vyskusam, tie operacie s casom som si uz pozeral len ten odpocet som nevedel. dosiel som po odpocet datumu,
echo "Rozdiel: ".date("H",$rozdiel)." hodin,".date("i",$rozdiel)." minut a ".date("s",$rozdiel)."sekund."; toto som nevedel ze sa da, dik |
||
jozob Profil |
#6 · Zasláno: 25. 1. 2006, 16:36:48
malek
Jednoducho si to prevedieš pomocou tých funkcií na mikrosekundy, potom to odčítaš a nakoniec z toho vyrobíš normálny tvar, opäť pomocou funkcie. |
||
PerToon Profil |
#7 · Zasláno: 25. 1. 2006, 16:39:35
Jen upravím jozoba - s největší pravděpodobností myslí milisekundy.
|
||
jozob Profil |
#8 · Zasláno: 25. 1. 2006, 16:45:19
PerToon
Nakoniec to nie sú ani mikrosekundy ani milisekundy, ale sekundy :-) Veď si to prepočítaj: 36 rokov = 13140 dní = 315360 hodín = 18921600 minút = 1135296000 sekúnd... A ďalej už nemusíme ísť, pretože sme dospeli k desať-miestnému číslu, čo je dnes UNIXový formát času :-) |
||
jozob Profil |
#9 · Zasláno: 25. 1. 2006, 16:48:06
Tak... a mám to aj overené na php.net.
"Returns the current time measured in the number of seconds since the Unix Epoch" |
||
malek Profil |
#10 · Zasláno: 25. 1. 2006, 16:55:15
to mi pise ze Call to undefined function: 1005301974()
asi preklep v $rozdiel=$aktualny-$stary(); malo byt $rozdiel=$aktualny-$stary; inak to funguje, a toto nejde: $cas_zdb = 1143661998; $aktualny=time(); //dnesny datum $co2=date('H,j,s,d,n,Y', $cas_zdb); echo $co2; $stary=mktime($co2); // 11:32:54, 9.11.2001 $rozdiel=$aktualny-$stary; echo "Rozdiel: ".date("H",$rozdiel)." hodin,".date("i",$rozdiel)." minut a ".date("s",$rozdiel)."sekund."; Warning: date(): Windows does not support dates prior to midnight (00:00:00), January 1, 1970 in |
||
jozob Profil |
#11 · Zasláno: 25. 1. 2006, 16:57:51
malek
" asi preklep v $rozdiel=$aktualny-$stary();" Samozrejme, už po sebe nečítam :-) |
||
jozob Profil |
#12 · Zasláno: 25. 1. 2006, 17:02:37 · Upravil/a: jozob
malek
A čo sa týka tej chyby, je to problém Windowsov... skúsim mrknúť niečo o tom na nete... |
||
malek Profil |
#13 · Zasláno: 25. 1. 2006, 17:02:49 · Upravil/a: malek
takze keby som mal server linux tak to ide?
|
||
jozob Profil |
#14 · Zasláno: 25. 1. 2006, 17:24:37 · Upravil/a: jozob
malek
No nenašiel som nič konkrétne (zatiaľ). Ak sa mi podarí zistiť o tom viac, napíšem. Ale tú chybu som v živote nevidel, aj keď som cca 4 roky používal Windows. |
||
jozob Profil |
#15 · Zasláno: 25. 1. 2006, 17:25:34
malek
"takze keby som mal server linux tak to ide?" Určite. Tam podobné chyby nenájdeš. |
||
malek Profil |
#16 · Zasláno: 25. 1. 2006, 17:31:40
hm to dava aj cudne rozdiely, tam bude chyba inde, v tom formate asi, lebo dava to cudne rozdieli, skus zmenit len rok na 2005 a uz to nejde
|
||
Časová prodleva: 5 měsíců
|
|||
Anonymní Profil * |
#17 · Zasláno: 15. 6. 2006, 08:05:01
mam dva datumy v MS SQL. jak na ASP zjistim rozdil mezi nimi ve dnech?
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0