Upload
stefanbarger21
View
36
Download
0
Embed Size (px)
Citation preview
Fecha y hora en Javascript
Para el trabajo con fechas en JavaScript, disponemos del objeto date:
000 001 002
<script> ahora=new Date() </script> </CODE< code>
Maximizar Seleccionar SCRIPT,XML
De esta manera almacenamos la fecha actual en la variable ahora, pero también podemos crear una fecha distinta de la actual:
000 mi_fecha=new Date("October 03, 1984 00:00:00") Maximizar Seleccionar
Bien, esta es la manera de almacenar la fecha en una variable, ahora miraremos como acceder a los datos de dicha fecha para trabajar con ella.
Por ejemplo, hemos creado una fecha 'ahora' y queremos extraer la fecha para mostrar en nuestra página que dia es:
000 001 002 003 004 005 006 007
<script type="text/javascript"> var ahora = new Date() document.write(ahora.getDate()) document.write(".") document.write(ahora.getMonth() + 1) document.write(".") document.write(ahora.getFullYear()) </script> </CODE< code>
Maximizar Seleccionar SCRIPT,XML
Vemos que a través de [objeto].getMonth() conseguimos leer el valor del més actual, asimismo también tenemos: getDate() - Devuelve el día del mes de 1 a 31 getDay() - Devuelve el día de la semana de 0 a 6 getMonth() - Devuelve el mes actual de 0 a 11, si queremos mostrar la fecha en formato dd/mm/yyy, tendremos que sumar uno a este valor. getFullYear() - Devuelve el año en formato YYYY getYear() - Devuelve el año en formato YY getHours() - Devuelve la hora de 0 a 23 getMinutes() - Devuelve los minutos de 0 a 59 getSeconds() - Devuelve los segundos de 0 a 59 getMilliseconds() - Devuelve los milisegundos (0-999) getTime() - Devuelve la fecha unix (Número de milisegundos desde medianoche del 1 de enero de 1970) getTimezoneOffset() - Zona horária del visitanteAdemás podemos modificar un objeto date usando las mismas funciones (getDay, getMonth..) pero en lugar de con 'get' con 'set' (setDay, setMonth...):
000 001 002 003 004 005
<script type="text/javascript"> var ahora = new Date() ahora.setFullYear("1984"); document.write(ahora.getDate()) document.write(".") document.write(ahora.getMonth() + 1)
006 007 008
document.write(".") document.write(ahora.getFullYear()) </script> </CODE< code>
Funcion para Validar Fechas en JavaScript
Hola me estan atormentando en el trabajo con una BD mal hecha, en la cual no
estaban las fechas con el tipo date si no varchar, asi que he tenido que reprogramar
todo eso y os explico el resultado:
Primero la funcion javascript para verificar lo que escribe el usuario:
PLAIN TEXT
JavaScript: 1. function esDigito(sChr){2. var sCod = sChr.charCodeAt(0);
3. return ((sCod> 47) && (sCod = 1) && (nDia = 1) && (nMes <= 12));
4. return bOk;
5. }
6. function valAno(oTxt){
7. var bOk = true;
8. var nAno = oTxt.value.substr(6);
9. bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
10. if (bOk){
11. for (var i = 0; i <nAno.length; i++){
12. bOk = bOk && esDigito(nAno.charAt(i));
13. }
14. }
15. return bOk;
16. }
17. function valFecha(oTxt){
18. var bOk = true;
19. if (oTxt.value != ""){
20. bOk = bOk && (valAno(oTxt));
21. bOk = bOk && (valMes(oTxt));
22. bOk = bOk && (valDia(oTxt));
23. bOk = bOk && (valSep(oTxt));
24. if (!bOk){
25. alert("Fecha inválida");
26. oTxt.value = "";
27. oTxt.focus();
28. }
29. }
30. }
En el input del campo donde se ingresa la fecha va esto: onBlur="valFecha(this)"
y luego recuperais la fecha que en este ejemplo seria para mysql, que trabaja en
yy/mm/dd asi que con split la adecuamos a nuestro formato, en asp seria asi):
PLAIN TEXT
ASP: 1. MiCadena = split(fecha_ins, "/",3,1)2. fecha_ins = MiCadena(2) & Micadena(1) & Micadena(0)
recordad que split existe en cualquier lenguaje de programacion.
Luego haceis la insercion en la BD y listo
Función para la introducción de fechas con formato dd/mm/aaaa.
Por Juan Carlos Aleman Paez
Publicado: 29/4/05
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
La siguiente es una funcion que realice para hacer mas facil la escritura de campos fecha con
formatos de dd/mm/aaaa y una pequeña validacion, tambien les mando una pequeña funcion
para saber si un valor es numerico:
1 debemos terner un formulario html con un campo con la siguiente forma:
<input name="fecha" type="text" size="10" maxlength="10" onKeyUp =
"this.value=formateafecha(this.value);">
Aqui se puede observar que hacemos un llamado a la funcion: formateafecha
2- en el mismo html colocamos los javascript con las funciones o lo ponemos aparte en un
archivo.js hacien donde deberiamos hacerle un llamado.
function IsNumeric(valor)
{
var log=valor.length; var sw="S";
for (x=0; x<log; x++)
{ v1=valor.substr(x,1);
v2 = parseInt(v1);
//Compruebo si es un valor numérico
if (isNaN(v2)) { sw= "N";}
}
if (sw=="S") {return true;} else {return false; }
}
var primerslap=false;
var segundoslap=false;
function formateafecha(fecha)
{
var long = fecha.length;
var dia;
var mes;
var ano;
if ((long>=2) && (primerslap==false)) { dia=fecha.substr(0,2);
if ((IsNumeric(dia)==true) && (dia<=31) && (dia!="00"))
{ fecha=fecha.substr(0,2)+"/"+fecha.substr(3,7); primerslap=true; }
else { fecha=""; primerslap=false;}
}
else
{ dia=fecha.substr(0,1);
if (IsNumeric(dia)==false)
{fecha="";}
if ((long<=2) && (primerslap=true)) {fecha=fecha.substr(0,1); primerslap=false; }
}
if ((long>=5) && (segundoslap==false))
{ mes=fecha.substr(3,2);
if ((IsNumeric(mes)==true) &&(mes<=12) && (mes!="00"))
{ fecha=fecha.substr(0,5)+"/"+fecha.substr(6,4); segundoslap=true; }
else { fecha=fecha.substr(0,3);; segundoslap=false;}
}
else { if ((long<=5) && (segundoslap=true)) { fecha=fecha.substr(0,4);
segundoslap=false; } }
if (long>=7)
{ ano=fecha.substr(6,4);
if (IsNumeric(ano)==false) { fecha=fecha.substr(0,6); }
else { if (long==10){ if ((ano==0) || (ano<1900) || (ano>2100))
{ fecha=fecha.substr(0,6); } } }
}
if (long>=10)
{
fecha=fecha.substr(0,10);
dia=fecha.substr(0,2);
mes=fecha.substr(3,2);
ano=fecha.substr(6,4);
// Año no viciesto y es febrero y el dia es mayor a 28
if ( (ano%4 != 0) && (mes ==02) && (dia > 28) ) { fecha=fecha.substr(0,2)+"/"; }
}
return (fecha);
}