Nombre de mes y día

03/05/2006 - 18:05 por bonsweet | Informe spam
Hola!

Tengo una tabla que contiene:
FotoId
FechaInicio
FechaFin

En donde estas fechas me dicen el periodo de tiempo que estara
publicandose en mi web determinada foto.

Despues tengo un recordset que me devuelve el nombre y la fecha de inicio
de las 5 fotos que proximamente serán publicadas.

pero el formato en que me devuelve esta fechaInicio es:
2006-06-06 11:00:00.000
yyyy-mm-dd hh:mm:ss.000

Quisiera que mi recordset me devolviera el NOMBRE del mes, el NOMBRE del
día y el año de la fechaInicio

Lo mas que he logrado es traer estos datos como número:
Anio = 2006
Mes = 6 Aquí quiero que diga: Junio
Dia = 6
NumDia = 3 Aquí quiero que diga: Martes

No lo quisiera hacer en el ASP, quisiera hacerlo directamente en SQL...
aun así acepto sugerencias en ASP

Gracias!

Preguntas similare

Leer las respuestas

#1 Dani Castillo
03/05/2006 - 18:26 | Informe spam
en sql podrias tener una tabla para meses y otra para dias (con numero y
equivalencia en texto) , y vincularlas en la consulta, pero creo q es
"excesivo" para lo que quieres, es decir, me parece q es hacer trabajar a la
base de datos :-), y a mi entender mas seguible y manejable

en asp es relativamente facil una funcion

function mestxt(mesnum)
mestxt=split("Enero,febrero,marzo...",",")(mesnum)
end function

(poniendo todos los meses en los claro)
tal como está , enero es el mes "0" , si quieres empezar por 1 es
function mestxt(mesnum)
mestxt=split("Enero,febrero,marzo...",",")(mesnum-1)
end function

asi solo es llamarlo con
<%=mestxt(rs("mes"))%>

(se podria optimizar teniendolo en un modulo aparte, con una variable con
los meses ya en forma de vector, y q solo muestre el elemento , pero creo q
si no son "cientos" de llamadas por cada ejecucion asi queda mucho mas
legible y entendible, sin variables globales)

tambien podrias montar una funcion basada en esas, algo que reciba un date y
devuelva la fecha en formato "legible" y teniendo semanatxt definida de
forma similar a los meses

function fechatxt(fecha)
fechatxt = semanatxt(weekday(fecha) ) & " " & day(fecha) & " de " &
mestxt(month(fecha)) & " de " & year (fecha)
end function

asi un
<%= fechatxt(rs("fechainicio")) %>
te la deja apañada :-)


"Esmeralda" escribió en el mensaje
news:
Hola!

Tengo una tabla que contiene:
FotoId
FechaInicio
FechaFin

En donde estas fechas me dicen el periodo de tiempo que estara
publicandose en mi web determinada foto.

Despues tengo un recordset que me devuelve el nombre y la fecha de inicio
de las 5 fotos que proximamente serán publicadas.

pero el formato en que me devuelve esta fechaInicio es:
2006-06-06 11:00:00.000
yyyy-mm-dd hh:mm:ss.000

Quisiera que mi recordset me devolviera el NOMBRE del mes, el NOMBRE del
día y el año de la fechaInicio

Lo mas que he logrado es traer estos datos como número:
Anio = 2006
Mes = 6 Aquí quiero que diga: Junio
Dia = 6
NumDia = 3 Aquí quiero que diga: Martes

No lo quisiera hacer en el ASP, quisiera hacerlo directamente en SQL...
aun así acepto sugerencias en ASP

Gracias!





Respuesta Responder a este mensaje
#2 Adrian Di Ruggiero
03/05/2006 - 18:31 | Informe spam
Hola!
No haces mención a que motor de BD estás usando, pero si se trata de SQL
Server, existe la función
DateName que puede servirte:

DATENAME
Returns a character string representing the specified datepart of the
specified date.

SELECT DATENAME(month, getdate()) AS 'Month Name'
Saludos!"Esmeralda" wrote in message
news:
Hola!

Tengo una tabla que contiene:
FotoId
FechaInicio
FechaFin

En donde estas fechas me dicen el periodo de tiempo que estara
publicandose en mi web determinada foto.

Despues tengo un recordset que me devuelve el nombre y la fecha de inicio
de las 5 fotos que proximamente serán publicadas.

pero el formato en que me devuelve esta fechaInicio es:
2006-06-06 11:00:00.000
yyyy-mm-dd hh:mm:ss.000

Quisiera que mi recordset me devolviera el NOMBRE del mes, el NOMBRE del
día y el año de la fechaInicio

Lo mas que he logrado es traer estos datos como número:
Anio = 2006
Mes = 6 Aquí quiero que diga: Junio
Dia = 6
NumDia = 3 Aquí quiero que diga: Martes

No lo quisiera hacer en el ASP, quisiera hacerlo directamente en SQL...
aun así acepto sugerencias en ASP

Gracias!





Respuesta Responder a este mensaje
#3 bonsweet
03/05/2006 - 18:44 | Informe spam
Muchas gracias!

Funcionó de maravilla!

Tks!

Dani Castillo wrote:

en sql podrias tener una tabla para meses y otra para dias (con numero y
equivalencia en texto) , y vincularlas en la consulta, pero creo q es
"excesivo" para lo que quieres, es decir, me parece q es hacer trabajar a la
base de datos :-), y a mi entender mas seguible y manejable

en asp es relativamente facil una funcion

function mestxt(mesnum)
mestxt=split("Enero,febrero,marzo...",",")(mesnum)
end function

(poniendo todos los meses en los claro)
tal como está , enero es el mes "0" , si quieres empezar por 1 es
function mestxt(mesnum)
mestxt=split("Enero,febrero,marzo...",",")(mesnum-1)
end function

asi solo es llamarlo con
<%=mestxt(rs("mes"))%>

(se podria optimizar teniendolo en un modulo aparte, con una variable con
los meses ya en forma de vector, y q solo muestre el elemento , pero creo q
si no son "cientos" de llamadas por cada ejecucion asi queda mucho mas
legible y entendible, sin variables globales)

tambien podrias montar una funcion basada en esas, algo que reciba un date y
devuelva la fecha en formato "legible" y teniendo semanatxt definida de
forma similar a los meses

function fechatxt(fecha)
fechatxt = semanatxt(weekday(fecha) ) & " " & day(fecha) & " de " &
mestxt(month(fecha)) & " de " & year (fecha)
end function

asi un
<%= fechatxt(rs("fechainicio")) %>
te la deja apañada :-)


"Esmeralda" escribió en el mensaje
news:
> Hola!
>
> Tengo una tabla que contiene:
> FotoId
> FechaInicio
> FechaFin
>
> En donde estas fechas me dicen el periodo de tiempo que estara
> publicandose en mi web determinada foto.
>
> Despues tengo un recordset que me devuelve el nombre y la fecha de inicio
> de las 5 fotos que proximamente serán publicadas.
>
> pero el formato en que me devuelve esta fechaInicio es:
> 2006-06-06 11:00:00.000
> yyyy-mm-dd hh:mm:ss.000
>
> Quisiera que mi recordset me devolviera el NOMBRE del mes, el NOMBRE del
> día y el año de la fechaInicio
>
> Lo mas que he logrado es traer estos datos como número:
> Anio = 2006
> Mes = 6 Aquí quiero que diga: Junio
> Dia = 6
> NumDia = 3 Aquí quiero que diga: Martes
>
> No lo quisiera hacer en el ASP, quisiera hacerlo directamente en SQL...
> aun así acepto sugerencias en ASP
>
> Gracias!
>
>
>
>
>
Respuesta Responder a este mensaje
#4 Arturo Costa Delgado
03/05/2006 - 20:42 | Informe spam
Hay una alternativa utilizando la función FormatDateTime() que permite, como
su nombre indica, darle formato a una fecha. Pero para sacarle mayor
provecho en idioma español (que parece es tu caso), yo utilizo esta línea al
inicio de todas las páginas asp

<% Session.lcidq78%>

Esta simple instrucción me permite "convertir" el resultado de consultas y
formatos de fecha al idioma español. Puedes probar colocando esa línea al
inicio de cualquier página asp y luego prueba estas instrucciones:

<%
FormatDateTime(Date,1)
%>

y verás el resultado. Si bien es cierto esta algo "distante" de tu consulta
original, me pareció buena idea el compartir contigo este detalle para que
lo tengas en mente para algún momento.

Espero haberte aportado en algo.

ACD
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida