webForumDet fria alternativet

Hitta "närmaste datum" i en array.

2 svar · 276 visningar · startad av Mungo

MungoMedlem sedan jan. 2000372 inlägg
#1

Nu ska vi se om nån orkar tänka bättre än jag...

Jag skulle vilja ha en funktion som hittar "närmaste dator" i en array med datum i mysql-TIMESTAMP-format enligt ett definierat intervall...

Alltså:

Tänk att man har en array enligt t.ex. följande:

array("20020113","20020225","20020512","20020621","20020831")

...och sen vill man IDAG hitta vilket av dessa datum som ligger närmast i tiden ett år bakåt! Användningsområdet är att enkelt kunna skapa typ "this day in history" till ett forum.

Funktionen skulle då kunna anropas typ såhär:

$lastyear = thisDateInHistory($datumArray, 365);

...då $datumArray skulle vara arrayen ovan och "365" är antalet dagar bakåt som man vill hitta närmaste datum. Enligt arrayen ovan skulle alltså funktionen returnera "20020831" eftersom 31 augusti är närmare dagens datum 365 dagar bakåt än 21 juni...

Solklart? :)

pthaMedlem sedan aug. 200334 inlägg
#2

solklart.. fast denna matchar bara YYYY-MM-DD datum, istället för YYYYMMDD som du bad om. Hade redan pregex strängen redo.. orka skriva ny ;)

kanske inte mes effektiva lösning.. men kom på nått bättre...

dessutom är klockan alltför mkt nu för att jag skall orka skriva nått längre... :) tog dock 1½ timme. Hoppas du är nöjd med resultatet.

cherrs mate! :birp

källkod finns här:
http://ptha.mine.nu/code_archive/thisDateInHistory.phps

EDIT: tog bort koden från forumet.. tog upp för mkt plats.

MungoMedlem sedan jan. 2000372 inlägg
#3

Tack till tusen!

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)