Foros del Web » Programando para Internet » PHP »

Obtener el nombre de un día según una fecha con php

Estas en el tema de Obtener el nombre de un día según una fecha con php en el foro de PHP en Foros del Web. Hola, tengo una necesidad, según una fecha que esta registrado en mi base de datos que es date yo quisiera mediante una función que determine ...
  #1 (permalink)  
Antiguo 07/10/2010, 15:35
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Obtener el nombre de un día según una fecha con php

Hola, tengo una necesidad, según una fecha que esta registrado en mi base de datos que es date yo quisiera mediante una función que determine que día de la semana para que me devuelva por ejemplo: Lunes, 05 de agosto de 2010, si es posible me supongo que lo arrojará en ingles así que la funcion también lo convierta en español, yo estoy usando esta función que me descompone la fecha para devolver una cádena.

Código PHP:
function convierte_fecha($fecha_ingles){
    
$ano=substr($fecha_ingles04);
    
$mes=substr($fecha_ingles52);
    
$dia=substr($fecha_ingles82);
    
    if (
$mes=="01"$mes="Enero";
    elseif (
$mes=="02"$mes="Feb";
    elseif (
$mes=="03"$mes="Mar";
    elseif (
$mes=="04"$mes="Abr";
    elseif (
$mes=="05"$mes="May";
    elseif (
$mes=="06"$mes="Jun";
    elseif (
$mes=="07"$mes="Jul";
    elseif (
$mes=="08"$mes="Ago";
    elseif (
$mes=="09"$mes="Sep";
    elseif (
$mes=="10"$mes="Oct";
    elseif (
$mes=="11"$mes="Nov";
    elseif (
$mes=="12"$mes="Dic";
    else 
$mes="--";
    
$fecha_castellano $dia." de ".$mes." de ".$ano;
    echo 
"$fecha_castellano";

  #2 (permalink)  
Antiguo 07/10/2010, 15:44
Avatar de ylellan  
Fecha de Ingreso: mayo-2010
Ubicación: en un lugar de Veracruz
Mensajes: 432
Antigüedad: 13 años, 10 meses
Puntos: 36
Respuesta: Obtener el nombre de un día según una fecha con php

checa un poco sobre la funcion date puede servirte corazon y mira tengo un codigo similar al tuyo:

Código PHP:
$fecha="2010-09-16";
$fecha=explode("-",$fecha); 

switch(
$fecha[1]) 

case 
"01"
$fecha[1]="ENE"
break; 
case 
"02"
$fecha[1]="FEB"
break; 
case 
"03"
$fecha[1]="MAR"
break; 
case 
"04"
$fecha[1]="ABR"
break; 
case 
"05"
$fecha[1]="MAY"
break; 
case 
"06"
$fecha[1]="JUN"
break; 
case 
"07"
$fecha[1]="JUL"
break; 
case 
"08"
$fecha[1]="AGO"
break; 
case 
"09"
$fecha[1]="SEP"
break; 
case 
"10"
$fecha[1]="OCT"
break; 
case 
"11"
$fecha[1]="NOV"
break; 
case 
"12"
$fecha[1]="DIC"
break; 
default: 
$fecha[1]="MES NULO"


$fec=$fecha[2] . "- " $fecha[1]."-"$fecha[0]; 
 
echo 
$fec
  #3 (permalink)  
Antiguo 07/10/2010, 15:45
Avatar de Ribon  
Fecha de Ingreso: septiembre-2010
Ubicación: El firmamento
Mensajes: 487
Antigüedad: 13 años, 7 meses
Puntos: 91
Respuesta: Obtener el nombre de un día según una fecha con php

Encontré este recurso util por allí ojala te sirva

http://www.webtaller.com/construccion/lenguajes/php/lecciones/mostrar-fecha-espanol-php.php
  #4 (permalink)  
Antiguo 07/10/2010, 15:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el nombre de un día según una fecha con php

en realidad para eso existe strftime()
http://php.net/strftime

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 07/10/2010, 15:48
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: Obtener el nombre de un día según una fecha con php

Saludos

Tal como indica Ribon. Pero modifica el codigo a:

Código PHP:

setlocale
(LC_ALL,"es_ES@euro","es_ES","esp");
echo 
strftime("%A %d de %B del %Y"); 
Hasta Pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 08/10/2010, 08:41
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener el nombre de un día según una fecha con php

Gracias a todos por contestar, este la fecha que deseo mistrar no es la fecha actual sino una fecha posterior para que en mi página salga proxima partida: tal fecha por eso he cambiado un poco mi código con sus consejos pero no se porque si la fecha que le doy es 10 de octubre que es domingo me sale dia miercoles aqui lo pueden cer esta mas o menos al medio http://www.peru-expeditions.com/Peru...pg_4x4-2-9.php, este es mi código
Código PHP:
function convierte_fecha($fecha_ingles){
    
$ano=substr($fecha_ingles04);
    
$mes=substr($fecha_ingles52);
    
$dia=substr($fecha_ingles82);
    
$semanaArray = array( "Mon" => "Lunes""Tue" => "Martes""Wed" => "Miercoles""Thu" => "Jueves""Fri" => "Viernes""Sat" => "Sábado""Sun" => "Domingo", );
    
$semana strftime("%a",$dia);
    
$semanaReturn $semanaArray[$semana];
    
    if (
$mes=="01"$mes="Enero";
    elseif (
$mes=="02"$mes="Feb";
    elseif (
$mes=="03"$mes="Mar";
    elseif (
$mes=="04"$mes="Abr";
    elseif (
$mes=="05"$mes="May";
    elseif (
$mes=="06"$mes="Jun";
    elseif (
$mes=="07"$mes="Jul";
    elseif (
$mes=="08"$mes="Ago";
    elseif (
$mes=="09"$mes="Sep";
    elseif (
$mes=="10"$mes="Oct";
    elseif (
$mes=="11"$mes="Nov";
    elseif (
$mes=="12"$mes="Dic";
    else 
$mes="--";
    
$fecha_castellano $semanaReturn.", ".$dia." de ".$mes." de ".$ano;
    echo 
"$fecha_castellano";

Alguna sugerencia, muchas gracias

Última edición por salvador86; 08/10/2010 a las 09:21
  #7 (permalink)  
Antiguo 08/10/2010, 09:56
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener el nombre de un día según una fecha con php

Veo que me sale Miercoles como la fecha que le estoy dando es 10 de ocu y mi array de dias son 7 valores contando en mi array 10, llega a miercoles osea no me esta devolviendo "Sun" alguna sugerencia, muchas gracias.
  #8 (permalink)  
Antiguo 08/10/2010, 11:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el nombre de un día según una fecha con php

salvador86, por favor... no hay necesidad de re-inventar la rueda, existen para todo esto funciones adecuadas: setlocale(), strftime(), strtotime(), time(), date(), etc...

de verdad, no entiendo el problema...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 08/10/2010, 12:04
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener el nombre de un día según una fecha con php

Hola pateketrueke ok bueno he encontrado muchos ejemplo que me dan la fecha actual y en algunos casos aumentarle unos dias mas para darle una fecha posterior pero como mi base de datos ya me genera esa fecha que puede ser cualquier quiero obtener su nombre de dia, soy novato en php y por eso insisto, pero si hay un ejemplo que me obvie lo que estoy haciendo por favor si me lo muestro, por que no he encontrado nada
  #10 (permalink)  
Antiguo 08/10/2010, 12:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Obtener el nombre de un día según una fecha con php

si la BD ya te da la fecha entonces podrías hacer así:
Código PHP:
$time strtotime($fecha_de_la_bd);

// y como ya te dijeron
setlocale(LC_ALL,"es_ES@euro","es_ES","esp");
echo 
strftime("%A %d de %B del %Y"$time); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 08/10/2010, 13:37
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener el nombre de un día según una fecha con php

Gracias Pateketrueke me salio muy bien pero solo una cosa más si se puede, me gustaria que la primera letra de el nombre del día y del mes este en mayuscula, ejemplo en vez de "domingo" se muestre "Domingo", gracias
  #12 (permalink)  
Antiguo 08/10/2010, 13:41
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Obtener el nombre de un día según una fecha con php

Revisa la información de ucfirst
en la Documentacion de PHP

saludos!
__________________
More about me...
~ @rhyudek1
~ Github
  #13 (permalink)  
Antiguo 10/10/2010, 02:07
 
Fecha de Ingreso: abril-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Respuesta: Obtener el nombre de un día según una fecha con php

Hola
Si usas MySql puedes hacer la consulta sobre tu fecha y obtener el numero del dia, con los siguientes valores:

0 ._ Domingo
1 ._ Lunes
2 ._ Martes
3 ._ Miercoles
4 ._ Jueves
5 ._ Viernes
6 ._ Sabado

La consulta seria de la siguiente forma


Código PHP:
Ver original
  1. <?php
  2.  $sqlGet = "SELECT DATE_FORMAT(campo_fecha, '%w') As diaSemana  FROM $TABLES WHERES $WHERES";
  3.  $ptrGet = mysql_query($sqlGet, $conexion);
  4.  $regGet = mysql_fetch_row($ptrGet);
  5. ?>

Despues de esto al resultado le puedes aplicar un switch para pasarlos a lunes,, martes etc etc. inclusive lo puedes hacer desde la propia consulta.

Para mas detalles checa la documentacion en cuanto al manejo de fechas que te proporciona MySql que para mi gusta es muy completa.

Saludos..
  #14 (permalink)  
Antiguo 12/10/2010, 10:01
Avatar de salvador86  
Fecha de Ingreso: enero-2008
Ubicación: Guadalajara- Mexico
Mensajes: 467
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: Obtener el nombre de un día según una fecha con php

Muchas gracias a todos por su ayuda lo consegui así
Código PHP:
function convierte_fecha($fecha_ingles){
  
$nombredia ucfirst(strftime("%a"$fecha_ingles));
    
$dia strftime("%d"$fecha_ingles);
    
$mes ucfirst(strftime("%b"$fecha_ingles));
    
$year strftime("%Y"$fecha_ingles);
    echo 
"$nombredia,  $dia de $mes de $year";

Muchas gracias
  #15 (permalink)  
Antiguo 22/01/2011, 16:15
Avatar de richardinj  
Fecha de Ingreso: enero-2005
Ubicación: Ciber Espacio
Mensajes: 2.180
Antigüedad: 19 años, 2 meses
Puntos: 11
Respuesta: Obtener el nombre de un día según una fecha con php

intente e intente.. y con tu codigo siempre me sale Jue, 01 de Ene de 1970
sea cual sea la fecha que coloco...

Etiquetas: date, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:31.