| FAQ |
| Kalender |
|
|
#1 | ||
|
|||
|
Medlem
|
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? |
||
|
|
Svara med citat
|
|
|
#2 | ||
|
|||
|
Klarade millennium-buggen
|
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) |
||
|
|
Svara med citat
|
|
|
#3 | ||
|
|||
|
Medlem
|
Tack för ditt givande svar.
|
||
|
|
Svara med citat
|
|
|
#4 | ||
|
|||
|
Klarade millennium-buggen
|
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! |
||
|
|
Svara med citat
|
|
|
#5 | ||
|
|||
|
Medlem
|
Citat:
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;
}
|
||
|
|
Svara med citat
|
|
|
#6 | |||
|
||||
|
Mycket flitig postare
|
Usch, PHP suger verkligen.
Tur att jag blivit upplyst, så jag slapp förlora ytterligare 2 år på att utveckla PHP-färdigheter. |
|||
|
|
Svara med citat
|
|
|
#7 | |||
|
||||
|
Klarade millennium-buggen
|
Men va tusan, kan ni inte subtrahera två datum/tid i PHP?
h34r: (själv kan jag noll PHP, därav min hängande käke) |
|||
|
|
Svara med citat
|
|
|
#8 | |||
|
||||
|
Flitig postare
|
Citat:
|
|||
|
|
Svara med citat
|
|
|
#9 | ||
|
|||
|
Medlem
|
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)); ?> |
||
|
|
Svara med citat
|
|
|
#10 | |||
|
||||
|
Har WN som tidsfördriv
|
Citat:
|
|||
|
|
Svara med citat
|
| Svara |
|
|