Comunidad de diseño web y desarrollo en internet online

PHP Cambiar fecha cadena a date

Citar            
MensajeEscrito el 02 Dic 2015 01:04 am
Buenas he encontrado un campo fecha pero esta en varchar pero no puedo cambiarlo a date por que se perderían registros

Tengo que hacer un listado que me muestre ( Mes y Año )
Por ejemplo
con este formato Abril del 2015

podrían ayudarme como se puede convertir en mes y año de una cadena
las fechas estas guardadas así
Año-Mes-Dias
2015-12-24

Dejo comentado en donde se agrega el codigo
<!---
<td width="25" align=center><?php echo $res['icr_fecha_revision1'];?></td>

si lo hago de esta manera me sale asi 2015-12-24
Pero lo que quiero es que salga Diciembre del 2015
--->



Código PHP :

<?php
require_once('conexion.php');

if (isset($_GET['busc'])){
$fecha_reporte=$_GET['fecha_reporte'];
$fecha_reporte2=$_GET['fecha_reporte2'];
$sql="select * from tbldocumentosicr INNER JOIN tblinfracciones ON tbldocumentosicr.icr_infraccion=tblinfracciones.icr_infraccion where icr_fecha_ri>='$fecha_reporte' and icr_fecha_ri<='$fecha_reporte2' order by icr_fecha_ri ASC";
}else{
$sql="select * from tbldocumentosicr INNER JOIN tblinfracciones ON tbldocumentosicr.icr_infraccion=tblinfracciones.icr_infraccion where icr_estado='5' order by icr_fecha_ri ASC";
}
$reg=mysql_query($sql,$cnx);
?>
<html>
<head>
<title>Listado</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript" src="calendar.js"></script>
    <script type="text/javascript" src="calendar-setup.js"></script>
    <script type="text/javascript" src="calendar-es.js"></script>
    <style type="text/css"> @import url("calendar-win2k-cold-1.css"); </style>

<script type="text/javascript" language="javascript">
   function cambiar(id,color){
       document.getElementById(id).style.backgroundColor=color;
   }
</script>
<style type="text/css">
body,td,th {
   color: #000;
}
body {
}
</style>
</head>

<body>
<form action="reportlima.php" method="get" >

<table BGCOLOR="F9FBFC" BORDERCOLOR="EAEAEB"  BORDER="1" width="900" align="center" cellpadding="1" >
<tr>
   <td colspan=6 align="center" BGCOLOR="C1D4D6" style="color:#000000"><h2><strong>Consulta</strong></h2></td>

</tr>

<TR>
<TD align=left><B>Fecha Notificacion RI</B></TD> 

<TR>
<TD align=right><B> Desde:</B></TD>
<TD align=left> <input type="text" name="fecha_reporte" id="fecha_reporte" style="background-color:#FBF9D5"/>
<button type="submit" id="button1">....</button>
<script type="text/javascript">                Calendar.setup({
                                inputField    : "fecha_reporte",
                                button        : "button1",
                                align         : "center"
                              });
                               </script>
</TD></TR>

<TR>
<TD align=right><B> Hasta:</B></TD>
<TD align=left> <input type="text" name="fecha_reporte2" id="fecha_reporte2" style="background-color:#FBF9D5"/>

<button type="submit" id="button2">....</button>
<script type="text/javascript">                Calendar.setup({
                                inputField    : "fecha_reporte2",
                                button        : "button2",
                                align         : "center"
                              });
                               </script>
</TD></TR>
  <TR> 
   <TD colspan=6>
    <br/>

 <center>   
 <input type="submit" name="busc" value="Buscar" style='width:100px; height:35px'>
<input type="button" name="reg" value="Regresar" style='width:100px; height:35px' onClick="history.back()"></center>

 </table>
</form>
<br></br>
<table width="1450"  align="center" cellspacing="0">
<TD align=left><input type="submit" name="exporta" value="Exportar a Excel" style='width:150px; height:35px'></TD>

</table>
<table BGCOLOR="F9FBFC" BORDERCOLOR=""  BORDER=5 width="1450"  align="center" cellspacing="0">
<tr>
 <td colspan=14 align="center" bgcolor="#FFFFFF"><h2><strong></strong></h2></td>
  </tr>
<tr>
   <td BGCOLOR="C1D4D6" width="25" align=center><h5>N °</h5></td>
   <td BGCOLOR="C1D4D6" width="90" align=center><h5>DEPENDENCIA</h5></td>
   <td BGCOLOR="C1D4D6" width="85" align=center><b><h5>RUC</h5></b></td>
   <td BGCOLOR="C1D4D6" width="150" align=center><h5>N CUENTA</h5></td>
   <td BGCOLOR="C1D4D6" width="230" align=center><h5>RAZON SOCIAL</h5></td>
   <td BGCOLOR="C1D4D6" width="100" align=center><h5>CODIGO RESLUCION</h5></td>
   <td BGCOLOR="C1D4D6" width="100" align=center><h5>FECHA NOTIFICACION</h5></td>
 <td BGCOLOR="C1D4D6" width="330" align=center><h5>CAUSAL DE INGRESO</BR>DERECAUDACION</h5></td>
   <td BGCOLOR="C1D4D6" width="100" align=center><h5>TIPO MONTO<BR> A TRASLADAR</h5></td>
   <td BGCOLOR="C1D4D6" width="90" align=center><h5>OBSERVACIONES</h5></td>
   <td BGCOLOR="C1D4D6" width="90" align=center><h5>PERIODOS DE REVISION</h5></td> 
   <td BGCOLOR="C1D4D6" width="90" align=center><h5>MONTO A TRASLADAR</h5></td>
   <td BGCOLOR="C1D4D6" width="70" align=center><h5>ESTADO</h5></td>
  
 </tr>
<?php
$i=0;
while($res=mysql_fetch_array($reg)){
   ?>
   <tr style="background-color:#f0f0f0" id="<?php echo $i;?>" onMouseMove="cambiar('<?php echo $i;?>','#cccccc')" onMouseOut="cambiar('<?php echo $i;?>','#f0f0f0')">

  <td width="25" align=center><?php echo $res[''];?></td>
    <td width="90" align=center>00<?php echo $res['icr_dependencia'];?></td>
    <td width="85" align=center><?php echo $res['icr_ruc'];?></td>
    <td width="150" align=center><?php echo $res['icr_cuenta_bn'];?></td>
    <td width="230" align=justify><?php echo $res['icr_contribuyente'];?></td>
    <td width="100" align=center>0<?php echo $res['icr_dependencia'];?>024000<?php echo $res['icr_num_resolucion'];?></td>
    <td width="100" align=center><?php echo $res['icr_fecha_ri'];?></td>
    <td width="330" align=justify><?php echo $res['icr_causal'];?></td>
    <td width="90" align=center>
<?php if($res["icr_traslado"]==1){?>Saldo Parcial
<?php }elseif($res["icr_traslado"]==2){?>Saldo Total
<?php }?>   </td>
<td width="90" align=justify><?php echo $res[''];?></td>



<!---  AQUI ES DONDE SE DEBE AGREGAR EL CODIGO

<td width="25" align=center><?php echo $res['icr_fecha_revision1'];?></td>

si lo hago de esta manera me  sale asi 2015-12-24
Pero lo que quiero es que salga Diciembre del 2015
--->

<td width="90" align=center><?php echo $res['icr_monto_icr'];?></td>
 
  <td width="70" align=center>
<?php if($res["icr_estado"]==1){?>Registrado
<?php }elseif($res["icr_estado"]==2){?>Con Comunicaci&oacute;n
<?php }elseif($res["icr_estado"]==3){?>Notificaci&#243n Comunicaci&#243n
<?php }elseif($res["icr_estado"]==4){?>Con Resoluci&oacute;n
<?php }elseif($res["icr_estado"]==5){?>Notificado con RI
<?php }elseif($res["icr_estado"]==6){?>Reportado
<?php }?>
   </td>

</tr>
<?php
$i=$i+1;
}
?>
</table>
</body>

</html>

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Dic 2015 12:12 pm
A ver si entendí. En la tabla de la base de datos la fecha está en formato ISO (AAAA-MM-DD) y tú quieres imprimir esa fecha en formato de texto legible solamente poniendo el mes y el año descartando el día.

¿Es correcto?.

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Dic 2015 11:13 pm

DriverOp escribió:

A ver si entendí. En la tabla de la base de datos la fecha está en formato ISO (AAAA-MM-DD) y tú quieres imprimir esa fecha en formato de texto legible solamente poniendo el mes y el año descartando el día.

¿Es correcto?.

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 02 Dic 2015 11:13 pm
Si la fecha esta en varchar,

quiero que aparezca diciembre del 2015
pero como es una cadena no se como hacer

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Dic 2015 11:57 am
Correcto. Entonces algo rápido y sucio sería:

Código PHP :

$strmeses = Array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",6=>"Junio",7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",11=>"Noviembre",12=>"Diciembre");
   
function FechaISO2MesAno($fechaiso) {
   global $strmeses;
   $aux = explode("-",$fechaiso);
   $mes = (int) $aux[1];
   $result = $strmeses[$mes];
   $result .= " de ".$aux[0];
   return $result;
}

$fecha = '2015-04-24';

echo FechaISO2MesAno($fecha);

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Dic 2015 03:01 pm
Amigo tu codigo si funciona pero como hago para que pueda extraerlo de la bd
el campo se llama icr_fecha_revision1
porque tu estas agregando una fecha determinada

Código PHP :

<?php
$strmeses = Array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",
6=>"Junio",7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",
11=>"Noviembre",12=>"Diciembre");
   
function FechaISO2MesAno($fechaiso) {
   global $strmeses;
   $aux = explode("-",$fechaiso);
   $mes = (int) $aux[1];
   $result = $strmeses[$mes];
   $result .= " de ".$aux[0];
   return $result;
}

$fecha = $Rs["2015-12-28"];
?>
     //Aqui es donde se llama para que pueda listarse
<td width="90" align=center><?php  echo FechaISO2MesAno($fecha);?>
</td>

Por tomasvreal28

17 de clabLevel



 

msie8
Citar            
MensajeEscrito el 03 Dic 2015 06:24 pm
¿Cómo estás recuperando los registros de la base de datos?
Postea solo el código relevante.

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Dic 2015 02:44 am
Así es como recupero de la bd

Código PHP :

<td width="90" align=center>
     <?php echo $res['icr_fecha_revision2'];?>
</td>

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Dic 2015 03:05 am
amigo pero tu lo estas haciendo con un tipo date

y yo lo tengo en un varchar

y están guardados de esta manera Año-Mes-Dia 2015-12-31

y lo que quiero es que se muestre Mes y año para mostrarlo en un listado
por ejemplo Enero del 2015
pero extrayendolo de mi bd el campo se llama icr_fecha_revision2

Código PHP :

<?php
require_once('conexion.php');
if (isset($_POST['busc'])){
$fecha_reporte=$_POST['fecha_reporte'];
$fecha_reporte2=$_POST['fecha_reporte2'];

$sql="select * from tbldocumentosicr INNER JOIN tblinfracciones ON tbldocumentosicr.icr_infraccion=tblinfracciones.icr_infraccion where icr_fecha_ri>='$fecha_reporte' and icr_fecha_ri<='$fecha_reporte2' order by icr_fecha_ri ASC";
}else{
$sql="select * from tbldocumentosicr INNER JOIN tblinfracciones ON tbldocumentosicr.icr_infraccion=tblinfracciones.icr_infraccion where icr_estado='5' order by icr_fecha_ri ASC";
}

$reg=mysql_query($sql,$cnx);
?>
<html>
<head>
<title>Listado</title>
</head>
<body>
<form action="reportlima.php" method="POST" >
<table BGCOLOR="F9FBFC" BORDERCOLOR=""  BORDER=5 width="100%"  align="center" cellspacing="0">
<tr>
<td colspan=14 align="center" bgcolor="#FFFFFF"><h2><strong></strong></h2></td>
</tr>
<tr>

<td BGCOLOR="C1D4D6" width="90" align=center><h5>PERIODOS DE REVISION</h5></td> 

</tr>
<?php
$i=0;
while($res=mysql_fetch_array($reg)){
   ?>
<tr style="background-color:#f0f0f0" id="<?php echo $i;?>" onMouseMove="cambiar('<?php echo $i;?>','#cccccc')" onMouseOut="cambiar('<?php echo $i;?>','#f0f0f0')">
    

<!--- [b]AQUI ES DONDE DEBERIA AGREGAR EL CODIGO[/b] --->

// ASI ES COMO LO EXTRAIGO DE LA BD

<td width="90" align=center><?php echo $res['icr_fecha_revision2'];?></td>

--->

</tr>
   <?php
   $i=$i+1;
   }
   ?>
</table>
</body>
</html>

Por tomasvreal28

17 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Dic 2015 12:00 pm
Eso no es problema porque lo que importa es el formato de la fecha y por lo que me dices, aunque el campo sea de tipo varchar, el formato de la fecha sigue siendo ISO.

Y lo que debes hacer es pasar como parámetro de la función que te he escrito el campo de la tabla, nada más.

Código PHP :

<td width="90" align=center><?php  echo FechaISO2MesAno($res['icr_fecha_revision2']);?>
</td>

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 04 Dic 2015 07:39 pm
Entonces al final amigo como quedaria al final
donde deberia agregar el nombre del campo de mi tabla

Código PHP :

<td width="90" align=center>
<?php
$strmeses = Array(1=>"Enero",2=>"Febrero",3=>"Marzo",4=>"Abril",5=>"Mayo",
6=>"Junio",7=>"Julio",8=>"Agosto",9=>"Septiembre",10=>"Octubre",
11=>"Noviembre",12=>"Diciembre");
   
function FechaISO2MesAno($fechaiso) {
   global $strmeses;
   $aux = explode("-",$fechaiso);
   $mes = (int) $aux[1];
   $result = $strmeses[$mes];
   $result .= " de ".$aux[0];
   return $result;
}

$fecha = $Rs["2015-12-28"];
?>
<?php  echo FechaISO2MesAno($res['icr_fecha_revision2']);?>
</td>

Por tomasvreal28

17 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Dic 2015 01:47 am
No sabes programar en PHP :(

Por DriverOp

Claber

2510 de clabLevel



 

chrome
Citar            
MensajeEscrito el 05 Dic 2015 02:10 am
Recién estoy aprendiendo amigo
por eso quisiera que por favor me ayudes

Por tomasvreal28

17 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.