
Calculo de edad
PHP
Publicado el 8 de Enero del 2003 por Haboc
33.032 visualizaciones desde el 8 de Enero del 2003
Función que calcula la edad de una persona tomando su fecha de nacimiento.
<?
function edad($fecha_nac)
{
//Esta funcion toma una fecha de nacimiento
//desde una base de datos mysql
//en formato aaaa/mm/dd y calcula la edad en números enteros
$dia=date("j");
$mes=date("n");
$anno=date("Y");
//descomponer fecha de nacimiento
$dia_nac=substr($fecha_nac, 8, 2);
$mes_nac=substr($fecha_nac, 5, 2);
$anno_nac=substr($fecha_nac, 0, 4);
if($mes_nac>$mes){
$calc_edad= $anno-$anno_nac-1;
}else{
if($mes==$mes_nac AND $dia_nac>$dia){
$calc_edad= $anno-$anno_nac-1;
}else{
$calc_edad= $anno-$anno_nac;
}
}
return $calc_edad;
}
?>
Comentarios sobre la versión: Versión 1 (13)
ATEE.
LCL
Calcular la edad en PHP
<?php
// Fecha actual
$date = getdate();
$anioact = $date["year"];
$mesact = $date["mon"];
$diaact = $date["mday"];
// Fecha de nacimiento de ejemplo para el test
$fechanac = "1981-07-04";
// Desglosamos la fecha recibida, como si fuese ingreada en un Form u obtenida de una base de datos
list( $anionac, $mesnac, $dianac ) = split('-', $fechanac);
//Verificamos que la fecha es correcta
if (checkdate ( $mesnac, $dianac, $anionac )){
$fechanac = ($anionac."-".$mesnac."-".$dianac);
} else {
die("Fecha incorrecta");
}
//Calculo de la edad al dia de hoy
$edad = $anioact - $anionac;
if ($mesact < $mesnac){
$edad--;
} elseif ($mesact == $mesnac){
if ($diaact < $dianac){
$edad--;
}
}
echo $edad;
?>
Manuel Santamaria
waveaddiction.com
por fa no me critiquen solo cestoy empezando y si no aprendo de los mejores que hago
Gracias.
<?php
class ClassVenta{
function ClassVenta(){
}
//El parámetro Cantidad es para saber cuantos productos y el Parámetro
//Calcular si es 1 entonces hay que calcular los subtotales de lo
//contrario si es 0 sólo se lista para la cantidad y el valor unitario
function GenerarTabla($Cantidad,$Calcular){
echo '<table>';
echo '<tr><td colspan="4" align="center"><b>FACTURA Nro: '.$_POST['texto1'].'</b></td></tr>';
echo '<tr><td>PRODUCTO</td><td>CANT</td><td>VALOR UNITARIO</td><td>SUBTOTAL</td></tr>';
if ($Calcular == 0){
for($i=1;$i<=$Cantidad;$i++){
echo '<tr>';
echo '<td align="center"><b>'.$i.'</b></td>';
echo '<td>';
echo '<input type="text" name="Pro'.$i.'" value="'.$_POST['Pro'.$i].'" size="5"/>';
echo '</td>';
echo '<td>';
echo '<input type="text" name="Val'.$i.'" value="'.$_POST['Val'.$i].'"/>';
echo '</td>';
echo '<td></td>';
echo '</tr>';
}
echo '<tr>';
echo '<td align="center" colspan="3"><b>T O T A L</b></td>';
echo '</tr>';
echo '<tr>';
echo '<td align="center" colspan="4">';
echo '<input type="button" name="BtCalcular" value="CALCULAR FACTURA">';
echo '</td>';
echo '</tr>';
echo '</table>';
}
else{
}
}
}
?>
<html>
<head><title>factura</title></head>
<script languaje="Java Script">
function Crearfactura(){
var Men= "";
if (document.form1.texto1.value == "")
Men = Men + "No ha ingresado el Número de Factura.\n";
if (document.form1.texto2.value == "")
Men = Men + "No ha ingresado el Nombre del Cliente.\n";
if (document.form1.texto3.value == "")
Men = Men + "No ha ingresado la Cantidad de Productos.\n";
if (Men == ""){
document.form1.GenerarFactura.value = 1;
document.form1.submit();
}
else
alert(Men);
}
</script>
<body>
<form name="form1" action="" method="post">
<input type="hidden" name="GenerarFactura">
<?php
$Factura = new ClassVenta();
echo '<table>';
echo '<tr><td>No. Factura </td>';
echo '<td><input type="text" name="texto1" value="'.$_POST['texto1'].'"></td></tr>';
echo '<tr><td>Cliente</td>';
echo '<td><input type="text" name="texto2" value="'.$_POST['texto2'].'"></td></tr>';
echo '<tr><td>Cantidad de Productos</td>';
echo '<td><input type="text" name="texto3" value="'.$_POST['texto3'].'"></td></tr>';
echo '<tr><td><input type="button" name="btcrear" value="CREAR FACTURA"
onclick="Crearfactura()"></td></tr>';
echo '</table>';
if ($_POST['GenerarFactura']){
echo '<br><br>';
$Factura->GenerarTabla($_POST['texto3'],0);
}
?>
</form>
</body>
</html>
$fecha_nacimiento='1985-10-23';
$fecha_sistema='2016-04-22';
//Convertir fechas a tiempo en segundos (como es formato UNIX cuenta los segundos desde 1969-12-31)
$conv_fechanac=strtotime($fecha_nacimiento);
$conv_fechasis=strtotime($fecha_sistema);
//Se divide la resta entre el número de segundos que tiene un año de 365 días
$diferencia=(($conv_fechasis-$conv_fechanac)/31536000);
echo "Usted tiene ".$diferencia." años de edad"