es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establecer el valor predeterminado de datetimepicker utilizando el valor de datetime de PHP

He intentado establecer el valor de fecha y hora desde la base de datos en un campo de entrada de fecha y hora de Bootstrap, pero no obtengo el valor de fecha exacto al editar un registro. También he intentado convertir el datetimepicker para insertarlo en la base de datos usando php. Por ejemplo, he intentado lo siguiente:

  • entrada: 30/12/2021 11:06 PM
  • salida: 1970-01-01 00:00:00

Código intentado:

echo date('Y-m-d H:i:s',strtotime($_POST['lot_datetime'])); 

$(function () {
  $('#datetimepickerDemo').datetimepicker({
    date: '<?php date('d/m/Y h:i:s a', strtotime($lottery['lotdatetime'])); ?>'
  });
});
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que hay algunos problemas con el código que ha proporcionado.

    En primer lugar, al intentar establecer el valor de la fecha y hora desde la base de datos en el campo de entrada datetimepicker, asegúrese de que el formato del valor de fecha y hora en la base de datos sea el mismo que el formato de fecha aceptado por el datetimepicker.

    Por ejemplo, si el valor de fecha y hora en la base de datos está en formato Y-m-d H:i:s (p. Ej., 2021-12-30 11:06:00), entonces debe usar el siguiente código para establecer el valor en el campo de entrada datetimepicker:

    $(function () {
      $('#datetimepickerDemo').datetimepicker({
        defaultDate: '<?php echo $lottery['lotdatetime']; ?>'
      });
    });
    

    Observe que la opción defaultDate del datetimepicker acepta una cadena de fecha en formato YYYY-MM-DD HH:mm:ss.

    En cuanto a la conversión del valor de entrada datetimepicker a un formato que se pueda insertar en la base de datos usando PHP, puede usar el siguiente código:

    $input_date = $_POST['lot_datetime'];
    $formatted_date = date('Y-m-d H:i:s', strtotime(str_replace('/', '-', $input_date)));
    

    Este código convertirá el valor de entrada datetimepicker (en formato d/m/Y h:i:s a, p. Ej., 30/12/2021 11:06 PM) al formato aceptado por la base de datos (es decir, Y-m-d H:i:s, por ejemplo, 2021-12-30 23:06:00).

    Observe que reemplazamos las barras diagonales (/) en la cadena de fecha de entrada con guiones (-) antes de pasarla a la función strtotime(), porque requiere que el formato de fecha esté en formato YYYY-MM-DD.

Comments are closed.