[SQL & PHP] datumnotatie van datetime column is verkeerd

Pagina: 1
Acties:
  • 174 views sinds 30-01-2008

  • nl2dav
  • Registratie: Juni 2001
  • Laatst online: 04:46
Gelukkig werkt het search gedeelte van dit forum weer, dat scheelt vragen stellen :), alleen ik kom nu ergens even echt niet uit.

Ik heb een read-only SQL database, waar wat DATETIME kolommen in staan. Als ik deze echter uitlees met PHP komt er bv.

Aug 18 2003 12:45:00

uit.... En dat wil ik niet... Nu kan ik wel een ontzettend ingewikkelde functie gaan maken om die datum in een ander format uit te lezen (18/08/2003) maar dit zou toch ook met een instructie kunnen?

MySQL kent een hele waslijst aan handige instructies als ik de handleiding er op na sla. Maar helaas werkt dat niet bij MS SQL... Nu heb ik voor de grap op me eigen machine IIS geinstalleerd en die leest het wel op de 18/08/2003 manier uit.

Ik moet/kan dus of de charset veranderen (ergens?) of ik moet een instructie hebben waarin die datum omgetoverd wordt tot een andere notatie.

PHP:
1
2
$date_db = $row->SLADate;
$date = date("d-m-Y", $date_db);


In dat soort dingen traptie niet in 8)7

Q350 ERV+Svenar controller Wifi+ComfoClime24 Ubbink aerfoam / Air Excellent & Renson Easyflex


Verwijderd

date functie verwacht ook een timestamp.... www.php.net/date

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
in mysql kun je met UNIX_TIMESTAMP en datum uit de datetime kolom omzetten in een unix timestamp. misschien dat dat je verder helpt?

(maar is meer een omweg om je probleem op te lossen dan een directe oplossing...)

  • Icheb
  • Registratie: Augustus 2001
  • Laatst online: 11-08 13:24
Hmm, gaaf, een SQL database, die heb ik ook 8)7

Ok, een oplossing, ik neem aan dat je mysql gebruikt, probeer dan het volgende truukje eens :
http://www.mysql.com/doc/en/Date_and_time_functions.html en daar ctrl f en dan 'DATE_FORMAT(date,format)'...

voorbeeld van een geldige query waarbij datum in DATETIME formaat staat :

SELECT date_format(datum,"%W %e %M %Y %H:%i:%S") AS datum FROM blaat;

Vergeet als je het in PHP doet niet de escape chars toe te voegen...

Succes :D

edit :
UNIX_TIMESTAMP()
UNIX_TIMESTAMP(date)
If called with no argument, returns a Unix timestamp (seconds since '1970-01-01 00:00:00' GMT) as an unsigned integer. If UNIX_TIMESTAMP() is called with a date argument, it returns the value of the argument as seconds since '1970-01-01 00:00:00' GMT. date may be a DATE string, a DATETIME string, a TIMESTAMP, or a number in the format YYMMDD or YYYYMMDD in local time:
mysql> SELECT UNIX_TIMESTAMP();
-> 882226357
mysql> SELECT UNIX_TIMESTAMP('1997-10-04 22:23:00');
-> 875996580

Voor als je het op de moeilijke manier wilt doen :D
dus SELECT UNIX_TIMESTAMP(datum) FROM blaat; kan ook :D

[ Voor 42% gewijzigd door Icheb op 18-08-2003 21:17 . Reden: toevoegen extra info ]

sebsoft.nl


  • nl2dav
  • Registratie: Juni 2001
  • Laatst online: 04:46
*snik* .... Tis helaas geen MySQL, ik weet het, het is favoriet hier en ook mijn favoriet maar tis MS SQL en ik tracht het uit te lezen met PHP4 8)

Error Desccription: 'date_format' is not a recognized function name.

Ik heb al wat commando's opgegeven maar allen zonder het gewenste resultaat. Ik ga nog maar wat proberen dan aangezien Google ook geen echt aanknopingspunt geeft... {mopper}.

Q350 ERV+Svenar controller Wifi+ComfoClime24 Ubbink aerfoam / Air Excellent & Renson Easyflex


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-08 23:56

Janoz

Moderator Devschuur®

!litemod

Last time I checked had MS SQL heel wat meer mogenlijkheden dan MySQL. Daarnaast lijken mij dit soort dingen heel makkelijk zelf te vinden in een manual (msdn) of met google (got-search is niet de enige search)

[ Voor 2% gewijzigd door curry684 op 19-08-2003 10:26 . Reden: Janoz prutz0rt :) ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1

Dit topic is gesloten.