Je ne parviens pas à insérer correctement la date dans ma base de données.
$date = date('m/d/Y h:i:s', time());
J'utilise ce format, et, il fait écho correctement, cependant, quand j'insère
mysql_query("INSERT INTO table
(dateposted)
VALUES ('$date')");
cela ne semble pas fonctionner correctement, et le temps reste à 00:00:00 Si vous pouviez trouver la solution qui serait formidable, merci.
Si vous souhaitez enregistrer l'heure actuelle, utilisez simplement les fonctions de MYSQL.
mysql_query("INSERT INTO `table` (`dateposted`) VALUES (now())");
Si vous avez besoin d’utiliser PHP pour le faire, le formater Y-m-d H:i:s
alors essayez
$date = date('Y-m-d H:i:s');
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$date')");
Essayez ceci à la place
$date = date('Y-m-d H:i:s');
NOW()
est utilisé pour insérer la date et l'heure actuelles dans la table MySQL. Tous les champs avec les types de données DATETIME, DATE, TIME & TIMESTAMP
fonctionnent bien avec cette fonction.
AAAA-MM-JJ HH: mm: SS
Manifestation:
Le code suivant montre l'utilisation de NOW()
INSERT INTO auto_ins
(MySQL_Function, DateTime, Date, Time, Year, TimeStamp)
VALUES
(“NOW()”, NOW(), NOW(), NOW(), NOW(), NOW());
vous pouvez utiliser CURRENT_TIMESTAMP, fonction mysql
définissez la type
de la colonne nommée dateposted
sur DATETIME
et exécutez la requête suivante:
INSERT INTO table (`dateposted`) VALUES (CURRENT_TIMESTAMP)
" datetime " s'attend à ce que la date soit formatée comme suit: AAAA-MM-JJ HH: MM: SS
alors formatez votre date comme ça lorsque vous insérez.
La meilleure façon de rendre cela plus simple et efficace est la suivante:
CREATE TABLE table_name (
field1,
..
..
time_updated timestamp default current_timestamp
)
Maintenant, lorsque vous insérez une ligne dans une table, vous pouvez ignorer ce champ (time_updated
) car il se remplira avec l'heure actuelle comme valeur par défaut
<?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">
Si vous passez la date à partir de PHP, vous pouvez utiliser n’importe quel format en utilisant STR_TO_DATE()
fonction_mysql . Laissez le conseder que vous insérez la date via le format HTML
$Tdate = "'".$_POST["Tdate"]."'" ; // 10/04/2016
$Tdate = "STR_TO_DATE(".$Tdate.", '%d/%m/%Y')" ;
mysql_query("INSERT INTO `table` (`dateposted`) VALUES ('$Tdate')");
La dateposted
devrait être de type mysql date
. ou mysql ajoute 00:00:00
dans certains cas, vous feriez mieux d’insérer la date et l’heure ensemble dans la base de données pour pouvoir calculer en heures et en secondes. ().
$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')" ;
Je crois que vous devez changer votre code un peu comme suit le long de votre type de base de données.
mysql_query("INSERT INTO table (`dateposted`) VALUES ($datetime)");
Espérons, fonctionnera parfaitement.
$ date = date ('Y-m-d H: i: s'); avec le type: 'datetime' a très bien fonctionné pour moi car je voulais imprimer la date entière et l'horodatage ..
$ date = date ('Y-m-d H: i: s'); $ stmtc-> bindParam (2, $ date);
Utilisez simplement avec votre fuseau horaire:
date_default_timezone_set('Asia/Kolkata');
$date=date("Y/m/d h:i:sa");