[PHP] Date format voor MySQL datetime-field

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Onderwerpen


Verwijderd

Topicstarter
Ik ben bezig met PHP en MySQL.

Nu ben ik bezig om de datum correct in MySQL te krijgen zodat MySQL er ook op kan gaan sorteren.

Nu heb ik in PHP het volgende gedaan om de date te definiëren:
code:
1
$date = date("Y-m-d H:i:s");


Hoe krijg ik het voor elkaar dat MySQL deze datum op kan pakken in het DATETIME-field?
Of welk field-type moet ik anders gebruiken?

Nu zegt MySQL constant als datum 0000-00-00 00:00:00 :?

Alvast bedankt!

Verwijderd

Kennelijk wil je de huidige datum en tijd invoeren (je gebruikt immers geen tweede argument bij de date() functie).

In dat geval kun je hiervoor net zo gemakkelijk de MySQL functie NOW() gebruiken.

code:
1
INSERT INTO tabel VALUES(NOW(), etcetera)

  • TRON
  • Registratie: September 2001
  • Laatst online: 16-09 13:13
Verwijderd schreef op 11 september 2003 @ 01:13:
Kennelijk wil je de huidige datum en tijd invoeren (je gebruikt immers geen tweede argument bij de date() functie).

In dat geval kun je hiervoor net zo gemakkelijk de MySQL functie NOW() gebruiken.

code:
1
INSERT INTO tabel VALUES(NOW(), etcetera)
Je kunt beter
PHP:
1
2
3
4
5
function gettime ()
 {
  // by TRON
  return strtotime(date ("F d, Y h:i:s A"));
 }
gebruiken in combinatie met
PHP:
1
2
3
4
5
6
function converse_time ($timeStamp) 
 {
  // by TRON
  return date("F d Y h:i A", 
  $timeStamp); 
 }

Leren door te strijden? Dat doe je op CTFSpel.nl. Vraag een gratis proefpakket aan t.w.v. EUR 50 (excl. BTW)


  • Soultaker
  • Registratie: September 2000
  • Laatst online: 03:13
TRON schreef op 11 september 2003 @ 01:59:
Je kunt beter
PHP:
1
2
3
4
5
function gettime ()
 {
  // by TRON
  return strtotime(date ("F d, Y h:i:s A"));
 }
gebruiken in combinatie met
PHP:
1
2
3
4
5
6
function converse_time ($timeStamp) 
 {
  // by TRON
  return date("F d Y h:i A", 
  $timeStamp); 
 }
Ligt het aan mij, of:
• heb je 'convert' verkeerd gespeld
• correspondeert je gettime() functie min of meer (of zelfs geheel) met de built-in functie time()
• is het nogal onzinnig om je naam als commentaar toe te voegen aan functies van 1 regel; de TS ziet toch wel dat jij de suggestie hebt gedaan en als 'ie die regel daar niet wil hebben, haalt 'ie 'm toch wel weg?

  • TRON
  • Registratie: September 2001
  • Laatst online: 16-09 13:13
Soultaker schreef op 11 September 2003 @ 02:42:
[...]

Ligt het aan mij, of:
• heb je 'convert' verkeerd gespeld
• correspondeert je gettime() functie min of meer (of zelfs geheel) met de built-in functie time()
• is het nogal onzinnig om je naam als commentaar toe te voegen aan functies van 1 regel; de TS ziet toch wel dat jij de suggestie hebt gedaan en als 'ie die regel daar niet wil hebben, haalt 'ie 'm toch wel weg?
'k Heb het stukkie letterlijk uit één van m'n scripten gekopieerd. En ja tuurlijk mag EN kan hij het weghalen. Geen problemen mee.

En ja, gettime correspondeerd ook bijna met de build-infunctie, alleen geeft deze functie de UNIX_TIMESTAMP. :)

Boeit het HOE 'converse' gespeld is? Maakt echt niets uit voor het script :+ :P

Leren door te strijden? Dat doe je op CTFSpel.nl. Vraag een gratis proefpakket aan t.w.v. EUR 50 (excl. BTW)


Verwijderd

Topicstarter
Kan iemand me uitleggen hoe ik van de NOW() datum (ex. 2003-09-11 19:45) een normale reeks kan krijgen? (ex. 11-09-2003 19:45)?

Alvast bedankt! _O_

  • slm
  • Registratie: Januari 2003
  • Laatst online: 12-11-2023

slm

[vraag verkeerd begrepen]

[ Voor 91% gewijzigd door slm op 11-09-2003 20:42 ]

To study and not think is a waste. To think and not study is dangerous.


Verwijderd

Via de MySQL DATE_FORMAT() functie:

code:
1
SELECT DATE_FORMAT(datumkolom, '%e-%c-%Y %T') AS formatdatum FROM tabelnaam

  • Gem1e
  • Registratie: December 2000
  • Laatst online: 25-02 19:54
als je de huidige datum wil invoeren in een (mysql) database kan je ook gewoon

SQL:
1
INSERT INTO tbl_blaat VALUES(CURRENT_DATE())


doen :)

Verwijderd

op http://www.mysql.com/docu...l#Date_and_time_functions staat wat meer uitleg over de argumenten die je kunt gebruiken. Zelf gebruik ik altijd:
"%d-%m-%Y %H:%i:%s" wat staat voor 01-01-2003 02:00:10 (dd-mm-yyyy uu:mm:ss)

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12:56
Ik zou gewoon invoeren met NOW() en pas bij het uitlezen de boel met date_format gaan formatten. Dat is beter omdat je dan ook de date_time functions van mysql optimaal kunt gebruiken. Als je zelf een ander formaat gaat gebruiken krijg je daar weer problemen mee.
Pagina: 1