WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   PHP - script som visar X dagar, X timmar sedan (https://www.wn.se/forum/showthread.php?t=11864)

bo82 2006-01-17 23:21

Jag letar efter en funktion där man skickar ett datum (timestamp tex) och får tillbaka hur många månader dagara å timmar sedan det var...

Har sett det på engelska men hittar inte ens det nu..

Finns det på svenska?

Helix 2006-01-17 23:25

Det måste var lätt att koda. Ett formulär, 2 rader kod och så har man det. Kanske skriva det själv?

(Om du har varit webmaster sedan 2000 kanske du har en sida att visa förutom www.google.se i din profil - läs reglerna för forumet)

bo82 2006-01-17 23:27

Tack för ditt givande svar.

Helix 2006-01-17 23:37

Ja, men varför letar man efter ett script som man skriver på 2 minuter?

1. Ta stränger omvandla till timestamp
2. Ta 1 och dra bort från dagens timestamp = antal sekunder
3. räkna ut timamr och minuter
4. Visa det!

bo82 2006-01-18 00:09

Citat:

Originally posted by Terabyte@Jan 18 2006, 00:37
Ja, men varför letar man efter ett script som man skriver på 2 minuter?

1. Ta stränger omvandla till timestamp
2. Ta 1 och dra bort från dagens timestamp = antal sekunder
3. räkna ut timamr och minuter
4. Visa det!

Antagligen var jag inte tillräckligt tydlig..

Jag letade efter ett script som kunde visa antalet Minuter,Dagar,Månader sedan ett visst datum angets..

Jag hittade detta script i form av plugin till wordpress till slut..

Kod:

function time_since($older_date, $newer_date = false)
        {
        // array of time period chunks
        $chunks = array(
        array(60 * 60 * 24 * 365 , 'year'),
        array(60 * 60 * 24 * 30 , 'month'),
        array(60 * 60 * 24 * 7, 'week'),
        array(60 * 60 * 24 , 'day'),
        array(60 * 60 , 'hour'),
        array(60 , 'minute'),
        );
       
        // $newer_date will equal false if we want to know the time elapsed between a date and the current time
        // $newer_date will have a value if we want to work out time elapsed between two known dates
        $newer_date = ($newer_date == false) ? (time()+(60*60*get_settings("gmt_offset"))) : $newer_date;
       
        // difference in seconds
        $since = $newer_date - $older_date;
       
        // we only want to output two chunks of time here, eg:
        // x years, xx months
        // x days, xx hours
        // so there's only two bits of calculation below:

        // step one: the first chunk
        for ($i = 0, $j = count($chunks); $i < $j; $i++)
 {
 $seconds = $chunks[$i][0];
 $name = $chunks[$i][1];

 // finding the biggest chunk (if the chunk fits, break)
 if (($count = floor($since / $seconds)) != 0)
        {
        break;
        }
 }

        // set output var
        $output = ($count == 1) ? '1 '.$name : "$count {$name}s";

        // step two: the second chunk
        if ($i + 1 < $j)
 {
 $seconds2 = $chunks[$i + 1][0];
 $name2 = $chunks[$i + 1][1];
 
 if (($count2 = floor(($since - ($seconds * $count)) / $seconds2)) != 0)
        {
        // add to output var
        $output .= ($count2 == 1) ? ', 1 '.$name2 : ", $count2 {$name2}s";
        }
 }
       
        return $output;
        }


zoran 2006-01-18 15:58

Usch, PHP suger verkligen.

Tur att jag blivit upplyst, så jag slapp förlora ytterligare 2 år på att utveckla PHP-färdigheter.

Robert 2006-01-18 16:19

Men va tusan, kan ni inte subtrahera två datum/tid i PHP? :ph34r:

(själv kan jag noll PHP, därav min hängande käke)

DeSoto 2006-01-18 17:28

Citat:

Originally posted by zoran@Jan 18 2006, 16:58
Usch, PHP suger verkligen.
Tur att jag blivit upplyst, så jag slapp förlora ytterligare 2 år på att utveckla PHP-färdigheter.

OT, men får man fråga vad du valt istället?

PeterM 2006-01-18 17:35

Klart det går att göra i PHP, är inte ens svårt. När man väl har antalet sekunder så är det bara att dividera upp dem i antalet månader, veckor eller vad man nu är ute efter.

Kod:

<?php
echo floor((time() - strtotime($ditt_datum)) / (24*60*60));
?>


koala 2006-01-18 17:36

Citat:

Originally posted by zoran@Jan 18 2006, 16:58
Usch, PHP suger verkligen.
Tur att jag blivit upplyst, så jag slapp förlora ytterligare 2 år på att utveckla PHP-färdigheter.

Visserligen håller jag med om att PHP suger men kodsnutten var synnerligen märkligt skriven och knappast det bästa sättet att lösa uppgiften på i PHP.


Alla tider är GMT +2. Klockan är nu 15:02.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson