Yii Framework Forum: Diferencia De Dias Entre Dos Fechas - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Diferencia De Dias Entre Dos Fechas Rate Topic: -----

#1 User is offline   Siobeth 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 33
  • Joined: 14-June 13

Posted 17 June 2013 - 09:01 AM

Buenos Dias!! Estoy comenzando a explorar este mundo de Yii, espero me sean de gran ayuda..
Tengo dos campos en mi form, fecha_inicial y fecha_culminación tipo Date en mi base de datos postgres.. y necesito que al usuario elegir la fecha_culminación me calcule automaticamente el la diferencia de dias entre una fecha y otra.. Le agradecia de antemano la ayuda.. Ah! ambos campos usan cjuidatepicker..
0

#2 User is offline   Juan D. 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 27
  • Joined: 30-April 13

Posted 17 June 2013 - 02:40 PM

Al decir automáticamente ¿te refieres exactamente a qué?
0

#3 User is offline   migueArgentina 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 144
  • Joined: 09-March 11

Posted 17 June 2013 - 03:47 PM

Me imagino que "automáticamente" = AJAX. Ahí no te puedo ayudar, pero con lo de las fechas yo uso lo siguiente (hay una forma más eficiente pero esta te va a servir perfecto):

public function diferenciaFechas(){
        $start_ts = strtotime($this->fecha_inicial);
        $end_ts = strtotime($this->fecha_culminacion);
        $diferencia = $end_ts - $start_ts;
        $dif_dias = round($diferencia / 86400); // En días
        $dif_horas = round($diferencia / 3600); // En horas
        ...
}


Si encontrás la solución a lo otro, ponela acá.

Saludos.
0

#4 User is offline   Siobeth 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 33
  • Joined: 14-June 13

Posted 18 June 2013 - 11:23 AM

View PostJuan D., on 17 June 2013 - 02:40 PM, said:

Al decir automáticamente ¿te refieres exactamente a qué?

Hola Juan! cuando digo automaticamente me refiero que cuando el usuario elija la fecha de culminación refleje en un campo de texto los dias de diferencia..
0

#5 User is offline   Siobeth 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 33
  • Joined: 14-June 13

Posted 18 June 2013 - 11:24 AM

View PostmigueArgentina, on 17 June 2013 - 03:47 PM, said:

Me imagino que "automáticamente" = AJAX. Ahí no te puedo ayudar, pero con lo de las fechas yo uso lo siguiente (hay una forma más eficiente pero esta te va a servir perfecto):

public function diferenciaFechas(){
        $start_ts = strtotime($this->fecha_inicial);
        $end_ts = strtotime($this->fecha_culminacion);
        $diferencia = $end_ts - $start_ts;
        $dif_dias = round($diferencia / 86400); // En días
        $dif_horas = round($diferencia / 3600); // En horas
        ...
}


Si encontrás la solución a lo otro, ponela acá.

Saludos.


Hola Migue!! Gracias por responder.. probare tu codigo y te cuento..
0

#6 User is offline   lagartoJuan 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 6
  • Joined: 19-June 16

Posted 28 September 2016 - 04:45 PM

View PostmigueArgentina, on 17 June 2013 - 03:47 PM, said:

Me imagino que "automáticamente" = AJAX. Ahí no te puedo ayudar, pero con lo de las fechas yo uso lo siguiente (hay una forma más eficiente pero esta te va a servir perfecto):

public function diferenciaFechas(){
        $start_ts = strtotime($this->fecha_inicial);
        $end_ts = strtotime($this->fecha_culminacion);
        $diferencia = $end_ts - $start_ts;
        $dif_dias = round($diferencia / 86400); // En días
        $dif_horas = round($diferencia / 3600); // En horas
        ...
}


Si encontrás la solución a lo otro, ponela acá.

Saludos.



hola estimado, me funciono a la perfeccion la funcion, muchas gracias, me gustaria saber cual es el calculo para obtener los meses entre dos fechas,

me imagino que sera algo del estilo..

$dif_meses = round($diferencia / ?????);

saludos. de antemano gracias.
0

#7 User is offline   miguelhuchim 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 3
  • Joined: 05-October 16

Posted 14 December 2016 - 10:40 AM

El resultado de la resta nos queda expresado en la unidad de tiempo “segundos”, al dividir por 60 nos queda expresado en “minutos”, al dividir nuevamente por 60 nos queda en “horas” y al dividir por 24 nos queda en días.

$dif_meses = round($diferencia / 1,036,800); // En meses 60*60*24*12 = 1,036,800
$dif_dias = round($diferencia / 86400); // En días 60*60*24= 86,400
$dif_horas = round($diferencia / 3600); // En horas 60*60=3600
$dif_min = round($diferencia / 60); // En minutos 60

el resultado original sin la división se encuentra en segundos como se menciono al principio. pero ten cuidado al hacer el calculo verifica que sea correcto! eh tenido algo de problemas... por el manejo de un formato como este "2012-02-14 00:00:00"
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users