Anterialis Skrevet 15. april 2005 Del Skrevet 15. april 2005 SPM#1 Hvordan gjør jeg det? Og at jeg kan bestemme hva som skal stå før og etter tallet, feks for <dager> siden, eller "nå er det hele <dager> siden jeg oppdaterte sist". SPM#2 Hvordan kan jeg lage et script som printer hvor lenge det er siden jeg oppdaterte siden? Siden den filen scriptet er på sist ble lagret eller updatert på serveren? På forhånd takk Lenke til kommentar
magikern Skrevet 15. april 2005 Del Skrevet 15. april 2005 1# fra php.net function getmyage() { $bday = gmmktime(14,29,0,9,23,1981)+(60*60*5); //The '+mktime(0,0,0,1,1,1970)' will add the local server's GMT offset to the time. //This will convert the server's current local time to GMT. //This is needed because $bday is calculated for a specific time zone (Central w/ DST: GMT-05:00) $dif = (time() + mktime(0,0,0,1,1,1970)) - $bday; $dif = getdate($dif); //Since mktime calculates the time from the Unix Epoch (January 1 1970 00:00:00 GMT), subtract 1970 from the year value. return ($dif['year'] - 1970); } 2# surret sammen i full fart function modified($file){ if(file_exist($file){ return date("Y-m-d", filemtime($file)); }else{ return "File not found"; } } Lenke til kommentar
Anterialis Skrevet 15. april 2005 Forfatter Del Skrevet 15. april 2005 (endret) Ikke siden du ble født :s mente å si at feks. jeg skriver 1404 (14 April), og så finner scriptet ut hvor mange dager det er siden. Kan ikke være veldig komplisert, kan det? EDIT: SPM #2 == solved Endret 15. april 2005 av w3p Lenke til kommentar
toss Skrevet 15. april 2005 Del Skrevet 15. april 2005 ser ut til at han har glemt en parantes.. prøv slik: function modified($file){ if(file_exist($file)){ return date("Y-m-d", filemtime($file)); }else{ return "File not found"; } } Lenke til kommentar
Anterialis Skrevet 15. april 2005 Forfatter Del Skrevet 15. april 2005 takker brukte en annen kode $filename = 'main.php'; if (file_exists($filename)) { echo date("F d",filemtime($filename)); echo "<sup>th</sup>"; } men vet noen svaret på spm # 1 ?? Hvis jeg feks skriver at $time = "144", også vil jeg (ved bruk av date("dn")) printe ut hvor mange dager det er siden. Nå har jeg skrevet en handling for hvert tilfelle, som er veldig tungvindt: if (date("dn") == "124") { echo "today"; } elseif (date("dn") =="134") { echo "yesterday"; } elseif (date("dn") =="144") { echo "for 2 days ago"; } elseif (date("dn") =="154") { echo "for 3 days ago"; } elseif (date("dn") =="164") { echo "for 4 days ago"; } elseif (date("dn") =="174") { echo "for 5 days ago"; } elseif (date("dn") =="184") { echo "for 6 days ago"; } elseif (date("dn") =="194") { echo "for a week ago"; } else { echo "on April 12th"; } Hvordan kan jeg gjøre dette enklere? Lenke til kommentar
mikaelandre Skrevet 16. april 2005 Del Skrevet 16. april 2005 Hvis du skal finne datodifferansen flere ganger, ville jeg gjort noe slik: <?php // Lager en funskjon for å finne differansen // $dag = den dagen du sjekker mot... // $return = antall dager function antallDager($dag){ // Lager timestamp av dagen i dag $array = explode(".", $dag); $timestamp= mktime(0,0,0,$array[1],$array[0],$array[2]); // regner ut differansen $diff = mktime() - $timestamp; // Deler på 3600 for å få timer.... $ant = round($diff/86400); return $ant; } // Eksempel på bruk $time = "14.04.2005"; echo'Det er nå ' . antallDager($time) . ' dager siden jeg gjorde noe.'; ?> Her trenger du en dato på formatet "dag.mnd.år". så kaller du funksjonen antallDager(); og du får returnert antall dager fra i den dagen du skreiv inn til i dag. Den koden over er vel mer tungvindt enn nødvendig, men det var no sånn det ble i natt timestamp er veldig kjekt ved regning på tid. tror det skal være å bare klippe ut koden og teste, tror den kjører som den er. runder forresten av oppover til nærmeste dag. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå