Datum naar DBL converteren en andersom

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jelmer

Jelmer

24/01/2007 11:48:00
Quote Anchor link
Met behulp van mijn script lees ik een database in.
Nu staat er helaas een kolom gevuld met datums in DBL formaat.

Dezen dien ik te converteren naar een normaal datum formaat, bijvoorbeeld: 12-01-2007.

Ook andersom moet mogelijk zijn. Sterker nog, dat is het belangrijkst! Van datum naar DBL formaat)

Helaas is er weining over te vinden op het internet, ik hoop dat iemand hier mij verder kan helpen.

In asp werkt het in ieder geval zo:

datum = DblToDate(VariabeleMetDeUitgelezenDatum);

En DateToDbl() is ook mogelijk.

Na wat zoeken op het internet kwam ik dit nog tegen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?

static double DateToDbl( LPSTR cDate )
{

   double nDate;

   nDate = hb_dateEncStr( cDate ) - 0x0024d9abL;

   return ( nDate );
}


static LPSTR DblToDate( double nDate )
{

   static char *cDate = "00000000";

   hb_dateDecStr( cDate, nDate + 0x0024d9abL );

   return ( cDate );
}

?>


Ook in asp helaas.

Ik heb het dus in PHP nodig.
 
PHP hulp

PHP hulp

13/05/2024 21:32:02
 
Joren de Wit

Joren de Wit

24/01/2007 13:14:00
Quote Anchor link
Vanuit de database omzetten naar dd-mm-yyyy:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
SELECT
    DATE_FORMAT(datumveld, '%d-%m-%Y') AS formatted_date
FROM
    tabel


In php dd-mm-yyyy omzetten naar yyyy-mm-dd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
    $datum
= '24-01-2007';
    $dmy = explode('-', $datum);
    $ymd = $dmy[2].'-'.$dmy[1].'-'.$dmy[0];
?>
 
Jelmer

Jelmer

24/01/2007 13:25:00
Quote Anchor link
En dan?

Dan kirjg je 20070112
Terwijl dit de waardes zijn di in de database staan:

39117
 
Joren de Wit

Joren de Wit

24/01/2007 13:30:00
Quote Anchor link
Ik zou in je database voor data gewoon een veld van het type DATE gebruiken en voor tijdstippen een veld van het type DATETIME.

Dat is het meest duidelijk en daar kun je verder prima mee rekenen...
 
Jelmer

Jelmer

24/01/2007 13:42:00
Quote Anchor link
Dat kan NIET.
Het front is te belangrijk en kan niet/bijna niet aangepast worden.

Echter moet er via een php script wat ingevoerd kunnen worden.
 
Frank -

Frank -

24/01/2007 14:06:00
Quote Anchor link
Wat voor een database gebruik je?

En 'kan niet', bestaat in dit geval niet. Het kan wel, maar je wilt het blijkbaar niet. En dat zijn 2 totaal verschillende dingen ;)
 
Jelmer

Jelmer

24/01/2007 14:58:00
Quote Anchor link
nee kan ook niet, want het mag niet ;-)
En anders is dat wel een hele berg werk :|

Maar het is een Access database.

Verder wil ik gewoon die berekening uitvoeren in php, moet toch kunnen?
Gewijzigd op 01/01/1970 01:00:00 door Jelmer
 
Joren de Wit

Joren de Wit

24/01/2007 15:08:00
Quote Anchor link
Oh, we hebben hier niet met een mysql database te maken. Mijn fout ;)

Wat is een DBL formaat precies? Ik ken het niet en kan er ook zo snel niets over vinden op internet.
 
Rudie dirkx

rudie dirkx

24/01/2007 15:12:00
Quote Anchor link
Altijd een beetje jammer dat mensen meteen je datamodel aan gaan passen als je iets vraagt, ipv gewoon een oplossing aan te dragen.

Wat is DBL formaat???

Access hihi ;)
 
Joren de Wit

Joren de Wit

24/01/2007 15:20:00
Quote Anchor link
Ja ok, maar wat is de relatie tot een datum in het 'normale formaat' zoals je het noemt? Access databases heb ik nooit mee gewerkt, dus neem me dat niet kwalijk...

ps. Waarom zou je mensen een oplossing voor een probleem geven dat eigenlijk voortvloeit uit een heel ander probleem, namelijk een verkeerd datamodel. Waarom dan mensen niet daarop wijzen en daar een oplossing voor geven? Let op: ik zeg niet dat het in dit geval zo is, en misschien was ik nu iets te snel met mn conclusie. Maar ervaring leert dat het in de meeste geval zo is.
 
Klaasjan Boven

Klaasjan Boven

24/01/2007 15:20:00
Quote Anchor link
Er zal toch een soort van formule/berekening zijn om van een datum een DBL te maken? Hoe doet Acces dat zelf
 
Jelmer

Jelmer

24/01/2007 15:31:00
Quote Anchor link
Lezen jullie dwars over de code heen of zo?

Hier gaat het om:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?

static double DateToDbl( LPSTR cDate )
{

   double nDate;

   nDate = hb_dateEncStr( cDate ) - 0x0024d9abL;

   return ( nDate );
}


static LPSTR DblToDate( double nDate )
{

   static char *cDate = "00000000";

   hb_dateDecStr( cDate, nDate + 0x0024d9abL );

   return ( cDate );
}

?>


Dat wil ik doen met PHP.
En hoe gaan we het doen, de rest is onbelangrijk.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.