abonnement Unibet Coolblue
pi_96980444
quote:
0s.gif Op woensdag 18 mei 2011 10:42 schreef MrNiles het volgende:

[..]

dus als ik data in een sql database zet dan kan ik dat met datediff doen
huidige tijd moet ik ophalen met time() ?
Mag ik die 2 doorelkaar gebruiken?
In PHP reken je in principe altijd met timestamps (aantal seconden sinds 1 januari 1970). MySQL gebruikt het datetime-type, wat in principe een soort string-representatie van de datum is, maar dan geschikt om mee te rekenen. Waarschijnlijk intern ook een timestamp.
Op het moment dat je een timestamp uit php in je mysql-database wilt stoppen gooi je je er eerst een date('Y-m-d H:i:s', $timestamp) overheen. Je converteert het dus naar een datum-string die MySQL snapt. Als je het weer uit je database haalt gooi je er strototime() overheen zodat het weer een integer wordt :)
Ook MySQL beschikt over een timestamp veld, maar de timestamps hierin zijn niet gelijk aan die van PHP (ander beginpunt afaik) en die moet je dus niet gebruiken.

Wil je dan rekenen met de data in MySQL kun je bijvoorbeeld doen:
SELECT DATEDIFF(geboortedatum, CURDATE()) FROM tabelletje
Je krijgt dan het verschil terug uitgedrukt in hele dagen.
pi_96981524
quote:
0s.gif Op woensdag 18 mei 2011 10:46 schreef Intrepidity het volgende:

[..]

SELECT DATEDIFF(geboortedatum, CURDATE()) FROM tabelletje
rekenen gaat nog niet zo best :(
heb een schop in de goeie richting nodig

dit heb ik (gevonden op internet)
1
2
3
4
5
6
7
8
9
10
<?php
$date1 
time();
$date2 mktime(0,0,0,10,20,2006);
$date3 strtotime($array["E_date"]);
$dateDiff    $date1 $date3;
$fullDays    floor($dateDiff/(60*60*24));
$fullHours   floor(($dateDiff-($fullDays*60*60*24))/(60*60));
$fullMinutes floor(($dateDiff-($fullDays*60*60*24)-($fullHours*60*60))/60);
echo 
"Differernce is $fullDays days, $fullHours hours and $fullMinutes minutes.";
?>

Doet wat het moet doen
maar
hoe kan ik nu 2 data (zonder jaren) van elkaar aftrekken
als er morgen iemand jarig is (19-05 - 18-05=1) zoiets dus..maar hoe kom ik daar?

[ Bericht 46% gewijzigd door MrNiles op 18-05-2011 11:44:35 ]
pi_97002914
quote:
0s.gif Op woensdag 18 mei 2011 10:38 schreef Intrepidity het volgende:

[..]

Ligt er aan wat voor type je datums hebben. Bij MySQL datetime-velden kun je gebruik maken van functies als datediff. Bij unix-timestamps zoals teruggegeven door time() kun je gewoon de getallen van elkaar aftrekken en delen door 24*60*60 (=aantal seconden in een dag).
Op zich is het wel handiger om Date / DateTime kolommen in MySQL te gebruiken. Daar kan MySQL zelf ook meer mee en het is waarschijnlijk beter te indexen dan een functieresultaat. In PHP heb je ook een DateTime class (sinds PHP 5.2) en een DateInterval class (sinds 5.3). Erg handig om met datums te rekenen, en je hoeft geen rekening te houden met zomertijd/wintertijd. Een dag telt namelijk niet altijd 24 * 60 * 60 ( = 86.400 ) seconden. 27 maart 2011 kwam niet verder dan 82.800 seconden.
pi_97024046
ben dus wat aan het spelen met datums
bij een verjaardag heb ik dus geen jaartal nodig om aan te geven je bent over x dagen jarig

waarom werkt dit zo niet?

1
2
3
4
5
6
<?php
$date3 
date("d-m",strtotime($array["E_date"])); //datum uit db
$today=date("d-m");
$verjaardag=$date3-$today;
echo 
$verjaardag;
?>

Ik dacht zo het jaartal weg te laten
alleen met rekenen neemt ie nu niet de maanden mee
  donderdag 19 mei 2011 @ 11:14:41 #180
91039 mstx
2x1/2 = 1/2 x 1/2
pi_97024151
quote:
0s.gif Op donderdag 19 mei 2011 11:11 schreef MrNiles het volgende:
ben dus wat aan het spelen met datums
bij een verjaardag heb ik dus geen jaartal nodig om aan te geven je bent over x dagen jarig

waarom werkt dit zo niet?
[ code verwijderd ]

Ik dacht zo het jaartal weg te laten
alleen met rekenen neemt ie nu niet de maanden mee
$date3 wordt nu bijv. "25-11", daar kun je niet mee rekenen aangezien het geen getal is.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
  donderdag 19 mei 2011 @ 11:16:14 #181
137776 boem-dikkie
Jedi Mind Baby!
pi_97024207
Even een vraagje. PHP heb ik redelijk onder de knie nu, in ieder geval de basis e.d. Ik ben wat aan het lezen over OOP maar heb nog geen idee hoe ik dit handig kan toepassen of uitproberen. Heeft iemand een goede tutorial die een beetje duidelijk maakt hoe je handig met classes e.d. leert omgaan?
Ik weet niks van Hindoes. Wel van Samoerai en andere dingen.
pi_97024237
quote:
0s.gif Op donderdag 19 mei 2011 11:14 schreef mstx het volgende:

[..]

$date3 wordt nu bijv. "25-11", daar kun je niet mee rekenen aangezien het geen getal is.
hmm..jammer...tekort door de bocht
hoe kan ik dan van iemand die op 20-05-1980 geboren is uitrekenen dat ie morgen jarig is?
pi_97024398
quote:
0s.gif Op donderdag 19 mei 2011 11:16 schreef MrNiles het volgende:

[..]

hmm..jammer...tekort door de bocht
hoe kan ik dan van iemand die op 20-05-1980 geboren is uitrekenen dat ie morgen jarig is?
20-05-1980 converteren naar een timestamp (hint: strtotime), dit aftrekken van de timestamp van nu, jaren uit de vergelijking halen met de modulo-operator en het aantal seconden in een jaar (365*24*60*60) en uitrekenen hoeveel dagen er nog in de overgebleven seconden zitten.

Kortom:
1
2
3
4
5
6
7
8
9
10
<?php
 $geboortedatum 
strtotime('20-05-1980');
 
$seconden time() - $geboortedatum;

 
// Jaren weghalen
 
$seconden $seconden % (365*24*60*60);

 
// Aantal dagen tot verjaardag uitrekenen
 
$dagen floor($seconden / (24*60*60));
?>

Edit:
Uit het hoofd, kan zijn dat er een foutje in zit.
% is de modulo-operator en betekent zoveel als de restant na deling.

[ Bericht 29% gewijzigd door Intrepidity op 19-05-2011 11:26:45 ]
pi_97024476
een modulo-operator :?
pi_97024637
Excuus, officieel heet ie modulus, geen modulo :P
En overigens is die berekening hierboven niet bepaald accuraat aangezien het geen rekening houdt met schrikkeljaren en dergelijke. Je kunt met 365.25 rekenen, maar dat is ook niet geheel juist. Maargoed, het zou je in ieder geval op weg moeten helpen met het soort berekening wat je uit moet voeren.
pi_97024789
quote:
0s.gif Op donderdag 19 mei 2011 11:28 schreef Intrepidity het volgende:
Excuus, officieel heet ie modulus, geen modulo :P
En overigens is die berekening hierboven niet bepaald accuraat aangezien het geen rekening houdt met schrikkeljaren en dergelijke. Je kunt met 365.25 rekenen, maar dat is ook niet geheel juist. Maargoed, het zou je in ieder geval op weg moeten helpen met het soort berekening wat je uit moet voeren.
Niet echt betrouwbaar dus eigenlijk...d'r zit ook een foutje ergens in...ff zoeken
pi_97024823
Je kunt het beste gebruik maken van de DateTime klasse. Deze biedt hier ingebouwde functionaliteit voor die wel nauwkeurig genoeg is.
  donderdag 19 mei 2011 @ 11:32:46 #188
25889 Sitethief
Fulltime Flapdrol
pi_97024826
quote:
5s.gif Op donderdag 19 mei 2011 11:16 schreef boem-dikkie het volgende:
Even een vraagje. PHP heb ik redelijk onder de knie nu, in ieder geval de basis e.d. Ik ben wat aan het lezen over OOP maar heb nog geen idee hoe ik dit handig kan toepassen of uitproberen. Heeft iemand een goede tutorial die een beetje duidelijk maakt hoe je handig met classes e.d. leert omgaan?
http://bit.ly/mj4zSR
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
pi_97025234
quote:
0s.gif Op donderdag 19 mei 2011 11:32 schreef Intrepidity het volgende:
Je kunt het beste gebruik maken van de DateTime klasse. Deze biedt hier ingebouwde functionaliteit voor die wel nauwkeurig genoeg is.
DateTime ....ben benieuwd of het iets wordt :)
echt fatsoenlijke uitleg/voorbeelden zijn schaars
pi_97027212
Kan iemand mij helpen? Ik heb de jqflot plugin om grafieken mee te maken maar ik wil uitrekenen waar een bepaald punt moet komen.

Ik heb in mijn grafiek 4 periodes van 3 maanden. Nu wil ik een tijdstip bijvoorbeeld 18-01-11 als punt. Dit wordt in de code bijvoorbeeld [10.0, 1.2] het dikgedrukte is het punt waar de datum moet staan. Ik heb echt geen idee hoe ik dat zou moeten uitrekenen. -O-
Lekker happen
pi_97027546
Ik denk dat je daarvoor beter in het javascript topic terecht kunt :)
pi_97028314
quote:
0s.gif Op donderdag 19 mei 2011 12:44 schreef Intrepidity het volgende:
Ik denk dat je daarvoor beter in het javascript topic terecht kunt :)
Maar de data wordt met php geladen...
Lekker happen
  vrijdag 20 mei 2011 @ 09:13:11 #193
305897 remi1986
This MF is infected by madness
pi_97063720
quote:
0s.gif Op donderdag 19 mei 2011 11:11 schreef MrNiles het volgende:
ben dus wat aan het spelen met datums
bij een verjaardag heb ik dus geen jaartal nodig om aan te geven je bent over x dagen jarig

waarom werkt dit zo niet?
[ code verwijderd ]

Ik dacht zo het jaartal weg te laten
alleen met rekenen neemt ie nu niet de maanden mee
Hey Niels ;),

je kan ook gebruik maken van DATEDIFF in de MySQL query. Eerder dit topic had ik daar een voorbeeld van gepost. Je pakt de datum van vandaag en vergelijkt dat met de verjaardag die in de database staat.

Of je maakt er timestamps van en gaat daar mee rekenen.

EDIT:

http://stackoverflow.com/(...)-two-dates-using-php

hier nog een voorbeeld waar ze met timestamps rekenen
pi_97072147
misschien dat iemand me toch ff kan helpen

1
2
3
4
5
<?php
$resultaat 
mysql_query('SELECT DATEDIFF(E_date,CURDATE()) AS AantalDagen FROM events') or die(mysql_error());
while (
$record mysql_fetch_array($resultaat)) {
$verjaardag=$record['AantalDagen'];
?>

maar hoe kan ik nu het jaar opheffen
nu bereken ik hoeveel dagen geleden iemand is geboren
pi_97073503
quote:
0s.gif Op vrijdag 20 mei 2011 13:29 schreef MrNiles het volgende:
misschien dat iemand me toch ff kan helpen
[ code verwijderd ]

maar hoe kan ik nu het jaar opheffen
nu bereken ik hoeveel dagen geleden iemand is geboren
Je moet niet het jaartal opheffen, want dan maak je het jezelf te moeilijk. Je kan beter gewoon het huidige jaartal gebruiken. Dus bijv iemand is geboren op 27 mei 1980, dan bereken je het verschil tussen 27 mei 2011 en de huidige datum. Dat is het aantal dagen tot de persoon jarig is.
Als dat verschil negatief is dan is die persoon dit jaar al jarig geweest.
pi_97073965
quote:
3s.gif Op vrijdag 20 mei 2011 13:58 schreef Farenji het volgende:

[..]

Je moet niet het jaartal opheffen, want dan maak je het jezelf te moeilijk. Je kan beter gewoon het huidige jaartal gebruiken. Dus bijv iemand is geboren op 27 mei 1980, dan bereken je het verschil tussen 27 mei 2011 en de huidige datum. Dat is het aantal dagen tot de persoon jarig is.
Als dat verschil negatief is dan is die persoon dit jaar al jarig geweest.
misschien heel dom
maar hoe vertel ik dat 1980 2011 moet worden?
pi_97075256
quote:
0s.gif Op vrijdag 20 mei 2011 14:08 schreef MrNiles het volgende:

[..]

misschien heel dom
maar hoe vertel ik dat 1980 2011 moet worden?
Ik zou het zo doen:

1select DATE_ADD('1980-05-27', INTERVAL YEAR(CURDATE()) - YEAR('1980-05-27') YEAR);
pi_97075908
maar de $event_2 mag niet zo
Unknown column in fieldlist error krijg ik terug
hoe wel?

$resultaat2 = mysql_query('SELECT DATEDIFF($event_2,CURDATE()) AS AantalDagen');
pi_97132217
Simpele vraag hoop ik maar ik breek er al even mijn koppie over ;{

Ik wil een postcode uitlezen uit een tekst met een volledig adres (straatnaam 1 1234 AA Ergens Nederland) en dat probeer ik zo

preg_match('/^(\d{4}[ ][a-zA-Z]{2})/', $adres, $out);

maar dit werkt niet? ik heb al veel andere stukjes geprobeerd maar kom er maar niet uit..
Just say hi!
pi_97132371
Je zoekt nu naar een string die *begint* met een postcode.
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')