[php] twee nl datums vergelijken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Om een voorbeeld te geven, ik heb deze drie datums:

maandag 14 september 2002 - 14:15
maandag 18 oktober 2002 - 16:02
maandag 23 januari 2003 - 14:12

Deze staan allen in een var.

Hoe kan ik deze vars nu vergelijken op datum? Stel ik wil de datum die het minst oud is (in dit geval 23 jan 03 dus, de onderste). Hoe kan ik dit vergelijken?!

De datums die in mn db staan hebben niets met een (unix)timestamp te maken want het zijn gewoon datums die ingetypt worden door de gebruiker, er vanuit gaand dat deze geen typfouten maakt :)
Ik heb gezocht op GoT en Php.net, kon wel iets vinden over de TIMESTAMP, DATE en TIME functies maar zeer zeker niet hoe ik die kan gebruiken icm mijn vars.

Ik denk zelf dat ik een functie moet maken die mijn vars opdeeld in dagnamen, dagnummers, maandnamen, jaarnamen, uren en minuten en die vervolgens gaat vergelijken. Maar helemaal zeker weet ik dat niet...

Acties:
  • 0 Henk 'm!

Verwijderd

time()
date()
ajb ;)
en als je dan gewoon met time in de db zet kunj je ook makkelijk vergelijken wie eerder was.

[ Voor 26% gewijzigd door Verwijderd op 28-02-2003 12:17 ]


Acties:
  • 0 Henk 'm!

  • martinvw
  • Registratie: Februari 2002
  • Laatst online: 20-08 20:35
Verwijderd schreef op 28 februari 2003 @ 12:16:
time()
date()
ajb ;)
en als je dan gewoon met time in de db zet kunj je ook makkelijk vergelijken wie eerder was.
Het is user input, dus hier heeft de topicstarter niet echt veel aan.

Acties:
  • 0 Henk 'm!

  • Dido
  • Registratie: Maart 2002
  • Laatst online: 11:58

Dido

heforshe

Ik zou dan toh aan de inputkant die datum maar om gaan zetten naar een timestamp oid, want als een gebriuker wel een tikfout maakt loopt het geheid spaak :P

Wat betekent mijn avatar?


Acties:
  • 0 Henk 'm!

  • cybermans
  • Registratie: Maart 2001
  • Laatst online: 17-09 09:56
je zal ze eerst iets met een enum naar een nummer ofzo moeten laten omzeten die maanden met date("Y-m-d") krijg je 2003-01-28 (vandaag dan)

laat ze dan invoeren met een drop down menu'tje

[ Voor 20% gewijzigd door cybermans op 28-02-2003 12:24 ]

Strava | Runkeeper | Endomondo (mijn leikr uploads)


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 28 februari 2003 @ 11:59:
maandag 14 september 2002 - 14:15
maandag 18 oktober 2002 - 16:02
maandag 23 januari 2003 - 14:12

...
het zijn gewoon datums die ingetypt worden door de gebruiker, er vanuit gaand dat deze geen typfouten maakt :)
dat is in eerste instantie dus een kwestie van invoer, ipv van de users een invoerveld te bieden (met alle risico's van tiepfouten, of verschillende schrijfwijzes), biedt je gebruikers gewoon een invoer volgens ofwel een strak date-format (DD/MM/YY) of nog mooier een dhtml kalendertje waarin ze kunne bladeren en de dag exact uitzoeken.

ben je gelijk ook af van mensen die invoeren woensdag 28 februarie 2003.

als je de huidige datums moet transformeren kun je enkel met redelijk brede regex-s werken, die proberen om maandnamen te herkennen, en ervanuit te gaan dat een 4-cijferig getal altijd een jaar is en een 1 of 2-cijferig de dag van de maand, de weekdag zu ik buiten beschouwen laten.
je kunt niet voorkomen dat deze methode een enorm hoge foutmarge heeft, maar dat is een gevolg van een verkeerde invoermethode presenteren die aanzet tot het invoeren van corrupte data

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Een ding scheelt qua typfouten: ik ben zelf de gebruiker..

dus dat probleem heb ik niet.

Stel dat ik de datum als volgt in ga voeren: 28022003

Kan ik dit dan makkelijk omzetten naar een timestamp om zo te kijken wat de nieuwste datum is?! Zo ja, hoe dan? Dat is eigenlijk mijn vraag. De input maakt me niet zoveel uit hoe die gedaan wordt maar moet wel handmatig gedaan worden want het betreft een agenda (waar je herinneringen in kunt zetten).

[ Voor 78% gewijzigd door Verwijderd op 28-02-2003 12:30 ]


Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Verwijderd schreef op 28 February 2003 @ 12:28:
Een ding scheelt qua typfouten: ik ben zelf de gebruiker..
ja en? ben jij feilloos ?
(dan vraag ik direkt een move aan naar W&L, die kunnen je prima vertellen dat ook jij fouten maakt en dat de eerste stap van een applicatie bouwen is te voorkomen dat mensen fouten maken in het bedienen ervan: alles was mis kan gaan, gaat mis)
Stel dat ik de datum als volgt in ga voeren: 28022003
van een dusdanige invoer is een unix timestamp eenvoudig te creeren
met mktime() en substring()

[ Voor 19% gewijzigd door RM-rf op 28-02-2003 12:33 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen

Pagina: 1