/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
1 måned frem
Fra : Bo Kamp Dudek


Dato : 27-03-05 11:40

Hejsa

Jeg har et website, hvor brugerne kan købe ydelser i perioder af hele
måneder ad gangen. Den enkelte bruger kan løbende tilkøbe nye
perioder, selvom de gamle endnu ikke af afsluttet.

Når brugeren har tilkøbt f.eks. 3 måneder, skal han kunne se start og
slut-dato for disse 3 måneder.

Jeg har brug for at udvikle en funktion, som kan returnere en slutdato
ud fra en startdatoog en løbetid angivet i måneder.

Jeg kan selvfølgelig ikke bare lægge løbetiden til måneder i
startdatoen, da den så kan fejle, hvis der f.eks. tilkøbes 1 måned fra
30. januar (hvis 30. februar ikke eksisterer det pågældende år).

Jeg har søgt en del på det, men har ikke fundet noget brugbart.

Anyone?

Mvh
Bo Kamp Dudek
www.bodudek.dk

Danmarks nye slankeportal
-----------------------------
W. www.slankogrask.dk
E. info@slankogrask.dk
-----------------------------

 
 
Morten Fangel (27-03-2005)
Kommentar
Fra : Morten Fangel


Dato : 27-03-05 12:04

Bo Kamp Dudek wrote:
>
> Jeg har søgt en del på det, men har ikke fundet noget brugbart.
>
Prøv at leg med strtotime (http://php.net/strtotime)

echo date('Y-m-d', strtotime('+1 month'));

(ik testet, men burde virke)

Morten Fangel / fangel

Bo Kamp Dudek (27-03-2005)
Kommentar
Fra : Bo Kamp Dudek


Dato : 27-03-05 12:42

[...]

>Prøv at leg med strtotime (http://php.net/strtotime)
>
>echo date('Y-m-d', strtotime('+1 month'));

ja, den faldt jeg også over.. men den tager dags dato og lægger en
måned tid.. jeg har brug for, at den kan lægge en måned til en given
dato..

Mvh
Bo Kamp Dudek
www.bodudek.dk

Danmarks nye slankeportal
-----------------------------
W. www.slankogrask.dk
E. info@slankogrask.dk
-----------------------------

Morten Fangel (27-03-2005)
Kommentar
Fra : Morten Fangel


Dato : 27-03-05 12:58

Bo Kamp Dudek wrote:
>
> ja, den faldt jeg også over.. men den tager dags dato og lægger en
> måned tid.. jeg har brug for, at den kan lægge en måned til en given
> dato..
>
Har ikke leget med det men du burde kunne lave

strtotime('30 jan 2004 +1 month')

Morten Fangel / fangel

Bo Kamp Dudek (27-03-2005)
Kommentar
Fra : Bo Kamp Dudek


Dato : 27-03-05 22:12

[...]

>Har ikke leget med det men du burde kunne lave
>
>strtotime('30 jan 2004 +1 month')

echo date('Y-m-d',strtotime('30 jan 2004 +1 month'));

giver 2004-03-01, så den holder vel ikke helt..

Mvh
Bo Kamp Dudek
www.bodudek.dk

Danmarks nye slankeportal
-----------------------------
W. www.slankogrask.dk
E. info@slankogrask.dk
-----------------------------

Morten Fangel (28-03-2005)
Kommentar
Fra : Morten Fangel


Dato : 28-03-05 09:02

Bo Kamp Dudek wrote:
>
> echo date('Y-m-d',strtotime('30 jan 2004 +1 month'));
>
> giver 2004-03-01, så den holder vel ikke helt..
>
Det kommer and på om man definerer en månede som 30 dage, så gør det ;)

Ej, kan godt se problemet... så løb jeg tør for gode ideer med strtotime..

Morten Fangel / fangel

Troels Hansen (28-03-2005)
Kommentar
Fra : Troels Hansen


Dato : 28-03-05 09:34

Morten Fangel wrote:
> Det kommer and på om man definerer en månede som 30 dage, så gør det ;)
>
> Ej, kan godt se problemet... så løb jeg tør for gode ideer med strtotime..

Så man jo tage og trække datoen ud som 30-1-2005 og lægge en til måneden
(1+1) og tjekke om den kommer over 12, og så lægge en til året hvis den gør.

Morten Fangel (28-03-2005)
Kommentar
Fra : Morten Fangel


Dato : 28-03-05 09:46

Troels Hansen wrote:
> Morten Fangel wrote:
> Så man jo tage og trække datoen ud som 30-1-2005 og lægge en til
måneden
> (1+1) og tjekke om den kommer over 12, og så lægge en til året hvis den
> gør.
Det er vel netop det den har gjort, og så set at 30-02-05 ikke findes,
og taget det som 01-03-05 ,)

Morten Fangel / fangel

Frowning Freezer (27-03-2005)
Kommentar
Fra : Frowning Freezer


Dato : 27-03-05 13:37

>>Prøv at leg med strtotime (http://php.net/strtotime)
>>
>>echo date('Y-m-d', strtotime('+1 month'));
>
>ja, den faldt jeg også over.. men den tager dags dato og lægger en
>måned tid.. jeg har brug for, at den kan lægge en måned til en given
>dato..

Brug mktime() funktionen. Se PHP dokumentationen for hvordan. Der kan
du blot lægge f.eks. 3 til månedsnr. og skulle det f.eks. blive større
end 12 returnerer den stadig en korrekt tidskode.


Bo Kamp Dudek (28-03-2005)
Kommentar
Fra : Bo Kamp Dudek


Dato : 28-03-05 08:46

[...]

>Brug mktime() funktionen. Se PHP dokumentationen for hvordan. Der kan
>du blot lægge f.eks. 3 til månedsnr. og skulle det f.eks. blive større
>end 12 returnerer den stadig en korrekt tidskode.

ja, det kan jeg sgu da godt se.. det er skidesmart! og så bixer den
selv, om det er skudår und alles.. tusinde tak..

Mvh
Bo Kamp Dudek
www.bodudek.dk

Danmarks nye slankeportal
-----------------------------
W. www.slankogrask.dk
E. info@slankogrask.dk
-----------------------------

Nezar Nielsen (27-03-2005)
Kommentar
Fra : Nezar Nielsen


Dato : 27-03-05 16:58

Bo Kamp Dudek wrote:

> ja, den faldt jeg også over.. men den tager dags dato og lægger en
> måned tid.. jeg har brug for, at den kan lægge en måned til en given
> dato..
>

int strtotime ( string time [, int now] )

The function expects to be given a string containing an English date
format and will try to parse that format into a Unix timestamp (the
number of seconds since January 1 1970 00:00:00 GMT), relative to the
timestamp given in now, or the current time if none is supplied. Upon
failure, -1 is returned.

--
Mvh. Nezar Nielsen
http://fez.dk

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste