[php] MySQL에서 datetime에 삽입 할 때 PHP date () 형식

date()결과를 MySQL datetime유형 열에 삽입하려는 경우 PHP 에서 함수에 전달할 올바른 형식은 무엇입니까 ?

나는 노력하고 date("Y-M-D G:i:s")있지만 매번 “0000-00-00 00:00:00″을 삽입합니다.



답변

문제는 텍스트 표현 인 'M'and를 사용 하고 'D'있으며 MySQL은 형식의 숫자 표현을 기대하고 있다는 것입니다2010-02-06 19:30:13

시도 : date("Y-m-d H:i:s")이것은 동등한 숫자를 사용합니다.

편집 : 전환 GH는 영향이 없을 수 있지만, 당신은 아마 선도적 인 0과 24 시간 형식을 사용하려면,.


답변

PHP date()매뉴얼 페이지 의 의견에서 :

<?php $mysqltime = date ("Y-m-d H:i:s", $phptime); ?>

당신은 ‘Y’를 맞았습니다. 그것은 1 년입니다. 그러나 ‘M’은 3 문자 달이고 ‘m’은 2 자리 달입니다. ‘d’대신 ‘D’와 동일한 문제입니다. ‘G’는 1 또는 2 자리 시간으로, ‘H’는 필요할 때 항상 선행 0을 갖습니다.


답변

대안 해결책은 다음과 같습니다. PHP에서 날짜를 타임 스탬프로 사용하는 경우 PHP를 사용하여 날짜를 처리하지 않고 FROM_UNIXTIME함수 를 사용하여 DB에서 날짜를 변환하도록 합니다.

mysql> insert into a_table values(FROM_UNIXTIME(1231634282));
Query OK, 1 row affected (0.00 sec)

mysql> select * from a_table;

+---------------------+
| a_date              |
+---------------------+
| 2009-01-10 18:38:02 |
+---------------------+


답변

다음 PHP 코드를 사용하여 MySQL DATETIME 열에 삽입하는 변수를 만듭니다.

$datetime = date_create()->format('Y-m-d H:i:s');

서버의 현재 날짜 및 시간이 유지됩니다.


답변

$date_old = '23-5-2016 23:15:23';
//Date for database
$date_for_database = date ("Y-m-d H:i:s", strtotime($date_old));

//Format should be like 'Y-m-d H:i:s'`enter code here`


답변

시간 소인을 MySQL DATETIME 컬럼으로 형식화하십시오.

strftime('%Y-%m-%d %H:%M:%S',$timestamp);


답변

PHP로 MySQL 날짜 / 시간 형식

$date = "'".date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $_POST['date'])))."'";