| | |
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
Autor | Správa |
---|
Registrovaný: 26.01.12 Prihlásený: 15.07.17 Príspevky: 18 Témy: 7 |
caute, preco ked dam funkcii date() hodnotu v sekundach tak mi vzdy pripocita hodinu navise? myslim toto: Kód: <?php $a = 1994; echo date('H:i', $a); ?> vypis: 01:33 a vzdy to jednu hodinu prida Kód: <?php $a = 3630; echo date('H:i:s', $a); ?> vypis:02:00:30 a malo by to byt 01:00:30 dopredu dik za pomoc
|
|
Registrovaný: 01.05.05 Príspevky: 13348 Témy: 1496 Bydlisko: Bratislava | Napísal JanoF: 29.10.2015 23:10 | |
|
Casove pasmo, resp. letny/zimny cas na danej masine kde ti bezi php?
_________________ Streacom DA2 | SilverStone Titanium SX800-LTI 800W | ASRock X299E-ITX/ac | Intel Core i9-9980XE & be quiet! Dark Rock TF | Kingston HyperX Impact 64 GB DDR4 2666 MHz | NVIDIA Titan RTX 24 GB | Intel SSD Optane 905P 480 GB NVMe U.2 & Intel SSD 750 1,2 TB NVMe U.2 & Intel SSD 660p 2 TB NVMe M.2 & Seagate BackUp Plus Portable 56 TB USB | 55" 4K OLED Dell Alienware AW5520QF & 24" LCD EIZO FlexScan EV2451 | Ergotron LX Wall Mount Keyboard Arm | Logitech Craft | Logitech G603 | Logitech F710 | Harman Kardon Sabre SB 35 & Sennheiser RS 175 | Microsoft Windows 7 Ultimate | APC Back-UPS ES 700 | Lenovo ThinkPad X250 | iPhone X 256 GB & Pitaka Aramid | SilverStone ML05B Milo | Corsair SF600 SFX 600W | ASRock X99E-ITX/ac | Intel Xeon E5-2683 v4 & NOCTUA NH-L12S | Kingston HyperX Savage 32 GB DDR4 2400 MHz | NVIDIA GeForce GT 710 1 GB | Intel SSD Optane Memory 32 GB NVMe M.2 & Intel SSD 730 240 GB SATA | Ubuntu Server |
|
Registrovaný: 26.01.12 Prihlásený: 15.07.17 Príspevky: 18 Témy: 7 | Napísal autor témy henrik35: 29.10.2015 23:20 | |
|
myslis na pc alebo nejake nastavenie v php.ini. ked dam len date('Y-m-d H:i:s') tak vypise pekne datum a cas. ale akonahle dam parameter tak prihodi hodinu. skusal som aj pocunut datum na leto. tiez som skusil do skryptu pridat ini_set('date.timezone', 'Europe/Bratislava'); a nic
|
|
Registrovaný: 24.01.08 Prihlásený: 13.09.17 Príspevky: 14572 Témy: 66 Bydlisko: Žilina |
Ide o to, že druhý parameter je timestamp, nie sekundy. Hej, unixový timestamp je síce definovaný ako počet sekúnd od "unixovej epochy", lenže ten má hodnotu 0 len v pásme GMT, čiže hodnota 3630 v našom pásme (GMT+1) pri vypísaní celého dátumu zodpovedá "Thursday 1st of January 1970 02:00:30 AM". Preto ti formát "H:i:s" vypíše korektne 2:00:30. Funkcia date() pracuje s dátumami, nie so sekundami. Ty potrebuješ najskôr získať správny timestamp pomocou funkcie mktime(). Kód: $a = mktime(0, 0, 3630); echo date('l jS \of F Y h:i:s A', $a);
Toto vráti dátum "Friday 30th of October 2015 01:00:30 AM", čiže "H:i:s" bude mať tú hodnotu, ktorú si očakával.
_________________ C#, PHP, ... |
|
Registrovaný: 26.01.12 Prihlásený: 15.07.17 Príspevky: 18 Témy: 7 | Napísal autor témy henrik35: 30.10.2015 9:55 | |
|
dik za pomoc. ved to ze pracuje s datumom a ja potrebujem vypisat len rozdiel medzi casom 1 a casom 2. tak som si spravil funkciu Kód: function up_time($second) {
$h = $second / 3600; $h = floor($h);
$m = $second % 3600; $m = $m / 60; $m = floor($m);
$cas = $h.'h:'.$m.'min'; return $cas; } a uz mam to co som potreboval. //zdrojak davaj do code (stenley)
|
|
| Stránka: 1 z 1
| [ Príspevkov: 5 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|