Home > desarrollo, Spanish > mktime y checkdate en javascript

mktime y checkdate en javascript

Les mostrare como crear dos funciones que son muy conocidas en php (mktime y checkdate) pero en este caso esta hecho con javascript cuyo uso puede servir si se necesita usar al lado del cliente, ideal para validar fechas antes de entrar al servidor (que puede servir para cualquier lenguaje de programacion)

La funcion checkdate verifica la validez de la fecha formada por sus argumentos. Una fecha es considerada válida si cada parámetro es definido apropiadamente.Devuelve TRUE si la fecha dada es válida de lo contrario devuelve FALSE.

function checkDate(month, day, year) {
var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (!day || !month || !year) {
return false;
}
// check for bisestile year
if (year/4 == parseInt(year/4)) {
monthLength[1] = 29;
}
if (month < 1 || month > 12) {
return false;
}
if (day > monthLength[month-1]) {
return false;
}
return true;
}

La función mktime devuelve la marca de tiempo Unix que corresponde a los argumentos dados. Esta marca de tiempo es un entero largo que contiene el número de segundos entre el Epoch Unix (Enero 1 1970 00:00:00 GMT) y la hora especificada.

function mktime() {
var no, ma = 0, mb = 0, i = 0, d = new Date(), argv = arguments, argc = argv.length;
d.setHours(0,0,0); d.setDate(1); d.setMonth(1); d.setYear(1972);
var dateManip = {
0: function(tt){ return d.setHours(tt); },
1: function(tt){ return d.setMinutes(tt); },
2: function(tt){ set = d.setSeconds(tt); mb = d.getDate() – 1; return set; },
3: function(tt){ set = d.setMonth(parseInt(tt)-1); ma = d.getFullYear() – 1972; return set; },
4: function(tt){ return d.setDate(tt+mb); },
5: function(tt){ return d.setYear(tt+ma); }
};
for( i = 0; i < argc; i++ ){
no = parseInt(argv[i]*1);
if (isNaN(no)) {
return false;
} else {
// arg is number, lets manipulate date object
if(!dateManip[i](no)){
// failed
return false;
}
}
}
return Math.floor(d.getTime()/1000);
}

La forma de usar estas funciones, es la siguiente:

mktime
————–

var start_date = mktime(start_hour,start_minute,0,start_month,start_day,start_year)

cuyos parametros pueden ser datos que provienen de un formulario
var start_day = document.form1.start_day.value;
var start_month = document.form1.start_month.value;
var start_year = document.form1.start_year.value;
var start_hour = document.form1.start_hour.value;
var start_minute = document.form1.start_minute.value;

Es ideal para comparar fecha, por ejemplo puede ser que la fecha de inicio (start_date) no sea mayor que la fecha final (end_date)

var end_date = mktime(end_hour,end_minute,0,end_month,end_day,end_year)

if(start_date > end_date)
{
alert(“Fecha de inicio no debe ser mayor que fecha de fin”)
} else {
alert(“Fecha Correcta”)
}

checkdate
————–
recuerden que el checkdate retorna true o false

if (checkDate(ends_month,ends_day,ends_year) == false)
{
alert(“fecha no valida”);
} else {
alert(“fecha correcta”);
}

Categories: desarrollo, Spanish
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: