Jump to content
php.lv forumi

Pielikt 1h pie laika.


rausis

Recommended Posts

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. :)

Link to comment
Share on other sites

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 by none
Link to comment
Share on other sites

$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 by Val
Link to comment
Share on other sites

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 by Grey_Wolf
Link to comment
Share on other sites

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 by none
Link to comment
Share on other sites

<?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 by blackhalt
Link to comment
Share on other sites

×
×
  • Create New...