Avatar billede b1sket Nybegynder
16. februar 2007 - 10:16 Der er 3 kommentarer

Class Dato HJÆLP

Nedenstpende er guvet skelettet til en ny datoklasse. Jeres Opagve er at skitserede metoder.

Objektet har kun én egenskab nemlig  <? var $dato ?> som indeholder datoen i formatet YYYYMMDD (d.eks 20061224) . Der må ikke degineres andre egenskaber til objektet. Hvis der er behov for uderligere variabler skal de defineres som lokale variabler i metoderrne.

<?
    class dato {
        var $data;

        function dato($dato = " "){
           
        }   
        function getDag() {
           
        }
        function getMaaned(){
           
        }
        function getAar(){
           
        }
       
       
        function setDag($dag){

        }
        function setMaaned($maanede){
           
        }
        function setAar($aar){
           
        }
        function getKvartal(){
           
        }
       
       
        function skudaar($skudAar){
           
        }
        function valider(){
           
        }
       
       
        function dagIAaret(){
           
        }
       
       
       
        function dageTilbage(){
           
        }
}
?>


DET ET "EKSAMEN PROJEKT" . Nogle der kan hjælpe mig !

Der må gerne være en class.dato.php og en dato.php . Så clasen er for sig.
Avatar billede b1sket Nybegynder
16. februar 2007 - 10:27 #1
Det siges der skall bruges sub_str . hmm,
-
Avatar billede jakobdo Ekspert
16. februar 2007 - 15:24 #2
Jeg tror måske denne kan bruges:

function valider()
{
    if(preg_match('/^(\\d{4})(\\d{2})(\\d{2})$/', $this->data, $match))
    {
        return checkdate($match[2], $match[3], $match[1])
    }
    return false;
}
Avatar billede greew Nybegynder
16. februar 2007 - 19:37 #3
Jeg har hurtigt mikset den sammen, så jeg garanterer ikke for noget.. test hellere for en sikkerheds skyld :)

<?
    class dato {
        var $data;

        function dato($dato = " "){
          $this->data = $dato;
        } 

        function getDag() {
          return substr($this->data, 6, 2);
        }

        function getMaaned(){
          return substr($this->data, 4, 2);         
        }

        function getAar(){
          return substr($this->data, 0, 2);         
        }
     
        function setDag($dag){
        $this->data = substr($this->data,0,6) . $dag;
        }

        function setMaaned($maanede){
        $this->data = substr($this->data,0,4) . $maanede . substr($this->data,6,2);
        }

        function setAar($aar){
        $this->data = $aar . substr($this->data,4,4);
        }

        function getKvartal(){
            switch(substr($this->data,4,2)) {
                case 01:
                case 02:
                case 03:
            return 1;
                    break;
                case 04:
                case 05:
                case 06:
            return 2;
                    break;
                case 07:
                case 08:
                case 09:
            return 3;
                    break;
                case 10:
                case 11:
                case 12:
            return 4;
                    break;
                default
                    break;


        }
     
        function skudaar($skudAar){
            return (date("L",mktime(0,0,0,0,0,substr($this->data,0,4)))==1:true:false);         
        }

        function valider(){
         
        }
     
        function dagIAaret(){
            return date("z",strtotime($this->data));
        }
     
        function dageTilbage(){
            return (365+($this->skudaar?1:0)-date("z",strtotime($this->data));
        }
}
?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester