Вставить текущую дату в формате datetime mySQL


у меня возникли проблемы с получением даты, правильно вставленной в мою базу данных.

$date = date('m/d/Y h:i:s', time());

Я использую этот формат, и он повторяет правильно, но когда я вставляю

mysql_query("INSERT INTO table 
(dateposted) 
VALUES ('$date')");

он не работает успешно, и, время остается 00: 00:00 Если бы вы могли найти решение, которое было бы здорово, спасибо.

13 72

13 ответов:

Если вы хотите сохранить текущее время, просто используйте функции MYSQL.

mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");

Если вам нужно использовать PHP, чтобы сделать это, формат его Y-m-d H:i:s так попробуй

$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");

попробуйте это вместо

$date = date('Y-m-d H:i:s');

NOW() используется для вставки текущей даты и времени в таблицу MySQL. Все поля с типами данных DATETIME, DATE, TIME & TIMESTAMP хорошо работать с этой функцией.

гггг-ММ-ДД чч: мм: СС

демонстрация:

следующий код показывает использование NOW()

INSERT INTO auto_ins
(MySQL_Function, DateTime, Date, Time, Year, TimeStamp)
VALUES
(“NOW()”, NOW(), NOW(), NOW(), NOW(), NOW());

вы можете использовать CURRENT_TIMESTAMP, функцию mysql

" datetime " ожидает, что дата будет сформирована следующим образом:гггг-ММ-ДД чч:мм: СС

Так форматировать дату, как это, когда вы вставляете.

установить type в графе dateposted как DATETIME и выполните следующий запрос:

INSERT INTO table (`dateposted`) VALUES (CURRENT_TIMESTAMP)
     <?php $date= date("Y-m-d");
$time=date("H:m");
$datetime=$date."T".$time;
mysql_query(INSERT INTO table (`dateposted`) VALUES ($datetime));
?>

<form action="form.php" method="get">
<input type="datetime-local" name="date" value="<?php echo $datetime; ?>">
<input type="submit" name="submit" value="submit">

Я считаю, что вам нужно немного изменить свой код, как показано ниже, вместе с типом файла базы данных.

mysql_query("INSERT INTO table (`dateposted`) VALUES ($datetime)");

надеюсь, будет работать отлично.

если вы передаете дату из PHP, вы можете использовать любой формат, используя STR_TO_DATE() функция mysql . Пусть conseder вы вставляете дату через html-форму

$Tdate = "'".$_POST["Tdate"]."'" ;    //   10/04/2016
$Tdate = "STR_TO_DATE(".$Tdate.", '%d/%m/%Y')"  ;  
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$Tdate')");

The dateposted должен быть mysql date тип . или mysql добавит 00: 00: 00
в некоторых случаях вы лучше вставить дату и время вместе в БД, так что вы можете сделать расчет с часами и секундами . () .

$Tdate=date('Y/m/d H:i:s') ; // this to get current date as text .
$Tdate = "STR_TO_DATE(".$Tdate.", '%d/%m/%Y %H:%i:%s')"  ;  

лучший способ сделать его проще и эффективнее это:

CREATE TABLE table_name (
field1,
..
..
time_updated timestamp default current_timestamp
)

теперь, когда вы вставляете строку в таблице, вы можете пропустить это поле (time_updated) как он будет заполняться с текущим временем в качестве значения по умолчанию

просто используйте с вашим часовым поясом:

date_default_timezone_set('Asia/Kolkata');      
$date=date("Y/m/d h:i:sa");

использовать

$date = date('m/d/Y h:i:s', time());

и затем в MYSQL do

type=varchar

тогда дата и время будут вставлены

попробуй такое

$('#datepicker2').datepicker('setDate', new Date('<?=$value->fecha_final?>'));