now - string to date php
Obteniendo un objeto PHP DateTime en una representaciĆ³n de cadena de una fecha MYSQL (2)
Debido a que la clase DateTime presentada con PHP5 está poco documentada, no recomendaría su uso. ¡Me parece que es mucho más fácil trabajar con marcas de tiempo regulares!
Pero si aún desea utilizar DateTime-objects, una solución sería transformar los objetos en marcas de tiempo (unix) antes de almacenarlos en su base de datos. Transforme las marcas de tiempo en DateTime-objects después de leer la información de su base de datos.
Para crear DateTime-object a partir de una marca de tiempo, use date_create () con la marca de tiempo como argumento. Para obtener la representación de objetos de la cantidad de segundos desde la Época de Unix, use date_format ($ object, ''U'') (U mayúscula).
Tengo un DateTime que quiero almacenar en una columna Date MySQL. Estoy usando MySQLi y declaraciones preparadas.
Al vincular parámetros, no puedo especificar la fecha como un tipo, solo cadenas y números enteros.
¿Cómo convierto el DateTime a una representación de cadena de fecha MySQL? Hay muy poca documentación sobre la clase DateTime.
Casi lo cerré como un duplicado de Convertir de fecha y hora de MySQL a otro formato con PHP, pero creo que en realidad es el problema inverso. Esa pregunta le preguntó cómo formatear una fecha extraída de MySQL, y usted está preguntando cómo formatear una fecha para ingresar a una consulta.
Opción 1:
SELECT * FROM MyTable WHERE DateTimeCol = ?
Puede formatear el valor al formato YYYY-MM-DD HH:MM
que MySQL desea:
<?php $mysql_date = date(''Y-m-d H:i:s'', $timestamp); ?>
Luego, envíela como un parámetro de cadena a la consulta.
Opcion 2:
SELECT * FROM MyTable WHERE DateTimeCol = FROM_UNIXTIME(?)
Luego puede enviar el valor de la marca de tiempo como un parámetro numérico a la consulta.
Opción 3:
SELECT * FROM MyTable WHERE DateTimeCol = STR_TO_DATE(?, ''%m/%d/%y'')
Puede enviar una amplia variedad de representaciones de cadena de fecha / hora, si especifica el formato de la función STR_TO_DATE()
MySQL. Para los códigos de formato, vea la función DATE_FORMAT()
.