rausis Posted March 29, 2008 Report Posted March 29, 2008 Ar file_get_contents no lapas tiek dabūts datums un laiks, piem: 2008-03-25 10:55:45, kā var piesummēt 1h klāt, lai būtu 2008-03-25 11:55:45? Mēģināju ar list un split sadalīt to padarīšanu un vajadzīgajam piesummēt, bet nesanāca, laikam tāpēc, ka tā to izdarīt nemaz nevar. :)
none Posted March 29, 2008 Report Posted March 29, 2008 (edited) Vari vispirms atdalīt datumu no laika, piem., $datums_laiks = '2008-03-25 10:55:45'; $tmp = explode(' ',$datums_laiks); // kur $tmp[0] - datums un $tmp[1] - laiks Tālāk no laika dabūjam stundas tādā paša garā $tmp = explode(':',$tmp[1]); // kur $tmp[0] - stundas Pēc tam pieskaitam 1 stundu klāt $rez = $tmp[0] + 1; Lūk arī piemērs ar to tavu list un split - $datums_laiks = '2008-03-25 10:55:45'; list($gads,$menesis,$diena,$stunda,$minute,$sekunde) = split('[: -]',$datums_laiks); $stunda++; echo $gads.'-'.$menesis.'-'.$diena.' '.$stunda.':'.$minute.':'.$sekunde; Nesanāca tev tādēļ, ka droši vien nezini regulārās izteiksmes, kas nepieciešamas f-jai split. Tāpēc labāk iesaku tev padarboties ar explode; Edited March 29, 2008 by none
Val Posted March 29, 2008 Report Posted March 29, 2008 (edited) $u = mktime(10, 55, 45, 3, 25, 2008); echo $y = date('Y-m-d H:i:s', strtotime('+1 hour', $u)); gan jau ir arī labāks veids... šitais kautkā ņekaķit :) Edited March 29, 2008 by Val
Grey_Wolf Posted March 29, 2008 Report Posted March 29, 2008 (edited) none -> taa isti dariit nevajag, jo var iznakt ka mainaas arii datums , jebshu ieguut ka pulsktenis rada 24:59 .. tb. neekssitejoshu laiku ... sakumaa visu sadalam pa daljaam, talak dabunam Unix Timestampu , pieskaitam 60 min (3600 sek) parversam atpaklaj par normalu datumu/ laiku ..... izmanto mktime() un Date() funkcijas... edit: val jau pasteidzaas ;) Edited March 29, 2008 by Grey_Wolf
none Posted March 29, 2008 Report Posted March 29, 2008 (edited) Grey_Wolf, cik no viņa posta sapratu tad viņš centās stringu palabot. Es ilustrēju to kas viņam nesanāca. Tas, ka pie pusnakts varētu sanāk sviest, viņam pašam jāsaprot. Val piemērs ir pārāk sarežģīts. Tā pat arī tās 3600 sekundes skaitīts timestampam nav pārāk uzskatāmi, ja var pašai funkcijai mktime, kas atgriež timestampu, pie parametra stundas pieskaitīt 1 klāt. Edit. Labi iebarosim visu kā nākas - $datums_laiks = '2008-03-25 10:55:45'; list($gads,$menesis,$diena,$stunda,$minute,$sekunde) = split('[: -]',$datums_laiks); $jaunais_datums = date('Y-m-d H:i:s', mktime($stunda + 1, $minute, $sekunde, $menesis, $diena, $gads)); Edited March 29, 2008 by none
blackhalt Posted March 29, 2008 Report Posted March 29, 2008 (edited) <?php #2008-03-25 10:55:45 $sakum_laiks=strtotime('2008-03-25 10:55:45'); #2008-03-25 11:55:45 $gala_laiks=date('Y-m-d H:i:s',$sakum_laiks+3600); echo $gala_laiks; die(); ?> Edited March 29, 2008 by blackhalt
Recommended Posts