29

I want to get the current date in yyyy-mm-dd hh:mm:ss format.

I have tried:

gmdate('yyyy-mm-dd hh:mm:ss \G\M\T', time());

Its returning a wierd date:

13131313-1111-2323 0707:1111:3131

Eric Leschinski
  • 135,913
  • 89
  • 401
  • 325
clu3Less
  • 1,722
  • 3
  • 16
  • 20

6 Answers6

55

You don't have to repeat those format identifiers . For yyyy you just need to have Y, etc.

gmdate('Y-m-d h:i:s \G\M\T', time());

In fact you don't even need to give it a default time if you want current time

gmdate('Y-m-d h:i:s \G\M\T');  // This is fine for your purpose

Manual

You can get that list of identifiers Here

Hanky Panky
  • 45,969
  • 8
  • 69
  • 95
12

Try this

Check this How do i get the gmt time in php

date_default_timezone_set("UTC");
echo date("Y-m-d H:i:s", time()); 
Community
  • 1
  • 1
vijaykumar
  • 4,342
  • 6
  • 38
  • 53
3

You had selected the time format wrong

<?php 
date_default_timezone_set('GMT');

echo date("Y-m-d,h:m:s");
?>
Ivin Polo Sony
  • 335
  • 3
  • 16
2

Use below date function to get current time in MySQL format/(As requested on question also)

echo date("Y-m-d H:i:s", time());
Shiv Singh
  • 6,431
  • 3
  • 39
  • 47
0

You are repeating the y,m,d.

Instead of

gmdate('yyyy-mm-dd hh:mm:ss \G\M\T', time());  

You should use it like

gmdate('Y-m-d h:m:s \G\M\T', time());
Hanky Panky
  • 45,969
  • 8
  • 69
  • 95
Tarun
  • 3,063
  • 3
  • 26
  • 43
0

gmdate() is doing exactly what you asked for.

Look at formats here: http://php.net/manual/en/function.gmdate.php

Hanky Panky
  • 45,969
  • 8
  • 69
  • 95
Kacer
  • 679
  • 3
  • 12