Veamos, rebuscando por internet encontré dos trozos de código (uno en javascript y el otro en VBscript) que te muestran la fecha en un formato que a mi me gustó bastante, pero para poder usarlo necesito un pequeño detalle.
En pocas palabras, la fecha de hoy se mostraría así: Martes, 10 Mayo
El caso es que yo quiero poder pasarle una fecha cualquiera y que le aplicase el mismo formato.
Los codigos son:
El de JavaScript
<script language ="JavaScript">
<!--
var now = new Date()
var dia = now.getDay()
var mes = now.getMonth()
var fecha
//El día de la semana
if(dia==0){
fecha="Domingo, ";
}else if(dia==1){
fecha="Lunes, ";
}else if(dia==2){
fecha="Martes, ";
}else if(dia==3){
fecha="Miércoles, ";
}else if(dia==4){
fecha="Jueves, ";
}else if(dia==5){
fecha="Viernes, ";
}else{
fecha="Sábado, ";
}
fecha = fecha + now.getDate() + " de "
//El nombre del mes
if(mes==0){
fecha=fecha + "Enero"
}else if(mes==1){
fecha=fecha + "Febrero"
}else if(mes==2){
fecha=fecha + "Marzo"
}else if(mes==3){
fecha=fecha + "Abril"
}else if(mes==4){
fecha=fecha + "Mayo"
}else if(mes==5){
fecha=fecha + "Junio"
}else if(mes==6){
fecha=fecha + "Julio"
}else if(mes==7){
fecha=fecha + "Agosto"
}else if(mes==8){
fecha=fecha + "Septiembre"
}else if(mes==9){
fecha=fecha + "Octubre"
}else if(mes==10){
fecha=fecha + "Noviembre"
}else{
fecha=fecha + "Diciembre"
}
fecha = fecha + " del " + now.getYear()
document.write(fecha);
//-->
</Script>
Y el de VBScript
<script LANGUAGE="VBScript">
<!--
d=weekday(date)
if d = 1 then
today="Domingo"
elseif d = 2 then
today="Lunes"
elseif d = 3 then
today="Martes"
elseif d = 4 then
today="Miercoles"
elseif d = 5 then
today="Jueves"
elseif d = 6 then
today="Viernes"
elseif d = 7 then
today="Sábado"
end if
m=month(date)
if m=1 then
mon="Enero"
elseif m=2 then
mon="Febrero"
elseif m=3 then
mon="Marzo"
elseif m=4 then
mon="Abril"
elseif m=5 then
mon="Mayo"
elseif m=6 then
mon="Junio"
elseif m=7 then
mon="Julio"
elseif m=8 then
mon="Agosto"
elseif m=9 then
mon="Septiembre"
elseif m=10 then
mon="Octubre"
elseif m=11 then
mon="Noviembre"
elseif m=12 then
mon="Diciembre"
end if
Document.Write today & ", " & day(now) & " " & mon
-->
</SCRIPT>
Las preguntas son, ¿hay alguna forma de hacerlo más sencillo?
En caso contrario ¿Como se le puede pasar una fecha cualquiera?
Las fechas que yo manejo están en una base de datos y las recojo con un repeater, asi que para obtener su valor tengo que usar esto: <%# DataBinder.Eval(Container.DataItem, "Fecha") %>
Si se pudiera dar formato de fecha largo a eso me ahorraría bastante pasteleo.