Gå til innhold

Funksjon for fjerning av leading zeroes?


Anbefalte innlegg

Heisann.

 

Jeg har trålet gjennom manualen i noen timer nå og har ikke funnet en funskjon som fjerner leading zeroes i et dato-format.

 

Problemet er at jeg må ha støtte for datoer før 1970 og nesten alle dato-manipulasjonsfunksjonene tar timestamps som parametere.

 

Det kan løses med regular expressions eller et array. Men det nå da finnes enkle funskjoner for denne slags operasjoner?

 

Noen som kan hjelpe?

Endret av Blodhemn
Lenke til kommentar
Videoannonse
Annonse

Heh... ja, en kunne si det ville ha hjulpet.. Da må jeg ha en feil i scriptet mitt for folk blir ikke ikke eldre enn 34 år.

 

class Age {

function calculateAge($date) {
 $yearNow = date("Y");
 $monthNow = date("m");
 $dayNow = date("d");
 
 $birthdate = strtotime($date);
 $year = date("Y", $birthdate);
 $month = date("m", $birthdate);
 $day = date("d", $birthdate);
 
 if ( $monthNow > $month || ( $monthNow == $month && $dayNow >= $day ) )
 	return $yearNow - $year;
 else
 	return $yearNow - $year - 1;
}
}

 

Kalles med:

error_reporting(E_ALL);
require_once('data/age.php');
print ( Age::calculateAge("1941-05-18") );

 

Returnerer:

34

 

Edit: I ettertid ser jeg jo at strtotime() returner -1 (morro i beregninger) når den ikke klarer gjøre om til timestamp og at det er defor folk ikke blir eldre enn 34. Så det er der problemet ligger. Men om den ikke klarer gjøre om en dato til timestamps så er jeg jo like langt.

Endret av Blodhemn
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...