yyyy obtener now formato fecha español date_format actual php timestamp epoch

now - obtener fecha actual php mysql



formato mm/dd/aaaa a época con PHP (5)

Tengo una tabla mysql que se basa en el sello de fecha y hora de Unix equivalente de la fecha de la entrada para ordenar y filtrar en varias partes del sitio web. Estoy intentando implementar un selector de fecha que ingresará la fecha en el campo de formulario en el formato mm / dd / aaaa. He estado luchando por convertir esa fecha en el formato de época de Unix para agregar esa entrada en el campo de la fila. Todos los intentos que he realizado han resultado en la generación de la marca de tiempo de época actual. ¿Alguien tiene alguna idea de cómo puedo tomar ese formato de fecha y convertirlo en su sello de tiempo de época equivalente?

Gracias por adelantado.

Información Adicional:

He estado probando mktime, y todo lo que obtengo es la época de hoy. Disculpas, debería haber agregado un código antes para explicar mejor:

El id del formulario es "fecha" El campo de la base de datos es "época"

Esto es lo que intento (sin éxito) cuando publico la fecha para:

$epochhold = ($_POST[''date'']); $epoch = mktime(0,0,0,$epochhold);

Entiendo por una publicación anterior que esto todavía presentaría el valor como mm / dd / aaaa y no mm, dd, aaaa como mktime espera, sin embargo, la publicación no ofreció una resolución sobre cómo hacerlo. Intenté cambiar la posición de "/" a "," y obtuve el mismo resultado, obteniendo la fecha de la fecha de hoy independientemente de la fecha ingresada.

Aquí está el ejemplo del código: de nuevo, esto no funcionó, pero lo agregué para ayudar a ilustrar lo que he intentado

$epochhold = ($_POST[''date'']); $epochold2 = str_replace(''/'', '', '', $epochhold) $epoch = mktime(0,0,0,$epochhold2);

Gracias por la respuesta anterior, ¡no quería que la respuesta rápida pasara desapercibida!

¡Gracias a todos!

Gracias a todos por las respuestas: strtotime parece estar funcionando mejor en las pruebas iniciales y puede ser el camino a seguir, ya que este formato es coherente en todo el sitio. Pero todas las sugerencias ayudaron con esto algunas otras cosas, ¡así que gracias de nuevo!



strtotime () analizará casi cualquier formato de fecha y devolverá la marca de tiempo de Unix. Todo lo que tienes que hacer es pasarle la cadena de fecha / hora:

$unix_time = strtotime($_POST[''date'']); if($unix_time < 0) { //error case } else { //value OK! }

Como puede ver arriba, incluso puede usarlo para ayudar a validar la entrada: si un usuario ingresa una fecha como 31/02/2008, devolverá -1.


Si sabe que siempre estará en ese formato, strtotime lo convertirá directamente en la marca de tiempo de Unix.

strtotime($_POST[''app_date'']);

HTH!


Tendrás que enviar el dd, mm, yyyy como vars separados a mktime. Toma el valor en $ epochold2 como una cadena que no sería válida para mktime.

Su mejor opción sería usar el strtotime como lo mencioné anteriormente, o seguir el consejo de Ant P usando mktime.


if ( ! preg_match(''#/d{2}//d{2}//d{4}#'', $_POST[''date'']) ) { // complain about invalid input } list($m, $d, $y) = explode(''/'', $_POST[''date'']); $timestamp = mktime(0, 0, 0, $m, $d, $y);