FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Ok jag behöver lite hjälp med PHP,
försöker att göra ett add värde på tid och datum, så här e fallet i alla fall, jag hämtar ett datum som e sparat i databasen, sen vill jag att det ska gämnföra med ett värde av +14 dagar, ex. Kod:
$date = date("Y-m-d"); $nydate date("Y-m-d") + 14 dagar; if ($date < $nydate) { } samma med fallet av tid. en kompis förklarade för ett tag sen, glömde att skriva ner vad han sa ![]() |
||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Read Only
|
<?php
//Obs denna lösning år inte skottårs säker. Då blir det jobbigt ta fram böcker och sånt. Men det kan du kanske själv göra? // Cornelii Sandberg $futurum = 14; if(date("m")%2 == 1 && date("m") <> 02) { if((date("d")+ $futurum) > 31 ) { $dag = $futurum - (31 - date("d")); $manad = date("m") + 1; } else { $dag = date("d")+14; $manad = date("m"); } } if(date("m")%2 == 0 && date("m") <> 02) { if((date("d")+ $futurum) > 30 ) { $dag = $futurum - (30 - date("d")); echo (30 - date("d"))." "; $manad = date("m") + 1; } else { $dag = date("d")+14; $manad = date("m"); } } if(date("m") == 02) { if((date("d")+ $futurum) > 28) { $dag = $futurum - (28- date("d")); $manad = date("m") + 1; } else { $dag = date("d")+14; $manad = date("m"); } } echo $manad."-".$dag."; ?> |
||
![]() |
![]() |
![]() |
#3 | ||
|
|||
Nykomling
|
Om jag har förstått dig rätt:
Kod:
<?php // Från databasen: $iOldDate = strtotime('2004-10-04 22:01'); // Nu + 14 dagar $iNewDate = time() + (60*60*24*14); if ( $iNewDate > $iOldDate ) { echo '...'; } ?> |
||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Bara ett inlägg till!
|
Ett tips är att kolla i manualen. Funktionen date() kan nämligen ta emot ett till argument.
$datum = date("Y-m-d"); $om_två_veckor = date("Y-m-d", time() + 3600 * 24 * 14); |
|||
![]() |
![]() |
![]() |
#5 | ||
|
|||
Klarade millennium-buggen
|
*SUCKAR*
Lär er PHP innan ni postar sjuk kod... Kod:
$date = date("Y-m-d"); $nydate date("Y-m-d",strtotime('+2 week')); if ($date < $nydate) { } |
||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Bara ett inlägg till!
|
Citat:
micze: Spana in strtotime() också. Mycket kraftfull när man vill mecka med tid. |
|||
![]() |
![]() |
![]() |
#7 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Kod:
$datum = date("Y-m-d"); $om_två_veckor = date("Y-m-d", time() + 3600 * 24 * 14); Kod:
$date = date("Y-m-d"); $nydate date("Y-m-d",strtotime('+2 week')); |
||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Read Only
|
Citat:
Funkar ju bra med $nydate = date("Y-m-d",strtotime('+2 days')); oxå. |
||
![]() |
![]() |
![]() |
#9 | |||
|
||||
Bara ett inlägg till!
|
Det här svaret är helt principiellt.
Citat:
Citat:
|
|||
![]() |
![]() |
![]() |
#10 | ||
|
|||
Nykomling
|
Citat:
Kod:
if ( '2004-10-11' < '2004-10-25' ) { ... } Det finns flera anledningar till att PHP använder timestamps (integer) internt, och en av dessa är effektivitet. Så min rekommendation till alla här är att jobba med timestamps istället, spara timestamps i databasen och konvertera till / från sträng endast när det är nödvändigt. (Jonas detta är inget påhopp med att skriva en sån sak är bara onödigt.) |
||
![]() |
![]() |
Svara |
|
|