Conversion de la date PHP au format MySQL
En PHP, il est courant de rencontrer des champs de date au format utilisé dans votre code :
$date = mysql_real_escape_string($_POST['intake_date']);
Cependant, lorsque l'on travaille avec MySQL, il est souvent nécessaire de convertir cette date au format MySQL de "0000-00-00". pour l'inclusion dans la base de données. Bien que certaines variantes de date('Y-m-d' strtotime($date);) puissent vous venir à l'esprit, il est crucial d'aborder les subtilités spécifiques impliquées dans cette conversion.
1. Gestion du type de colonne MySQL
Si votre colonne MySQL est de type DATE, indiquant uniquement une date sans heure, la méthode de conversion recommandée est :
$date = date('Y-m-d', strtotime(str_replace('-', '/', $date)));
Cela remplace les tirets" -" dans la chaîne de date avec des barres obliques "/" avant d'appliquer la fonction strtotime(). Sinon, strtotime() tentera de soustraire les nombres séparés par des tirets, conduisant à des résultats incorrects.
2. Conversion pour le type DATETIME
Si votre colonne MySQL est du type DATETIME, qui inclut à la fois des composants de date et d'heure, utilisez plutôt la conversion suivante :
$date = date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $date)));
Ici, nous adhérons selon le même principe de remplacement de "-" par "/", mais nous incluons également un formatage supplémentaire pour les composants temporels.
3. Approche alternative pour les formats complexes
Dans le cas où votre date est dans un format incompatible avec les fonctions strtotime() et date(), telles que "02/07/2009 00:07:00" , vous pouvez opter pour une conversion basée sur une expression régulière :
$date = '02/07/2009 00:07:00'; $date = preg_replace('#(\d{2})/(\d{2})/(\d{4})\s(.*)#', '-- ', $date);
Cette regex réorganise les composants de date dans le format MySQL requis, garantissant que votre champ de date PHP est converti de manière appropriée pour être inclus dans la base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!