Foros del Web » Programando para Internet » Javascript »

Cambiar formato de fecha de DMY - YMD

Estas en el tema de Cambiar formato de fecha de DMY - YMD en el foro de Javascript en Foros del Web. Buenas Sres. estoy realizando una aplicacion en Java con Mysql lo que pasa q Mysql el formato de su fecha es YYYY-MM-DD en mi aplicacion ...
  #1 (permalink)  
Antiguo 10/11/2009, 20:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Cambiar formato de fecha de DMY - YMD

Buenas Sres. estoy realizando una aplicacion en Java con Mysql lo que pasa q Mysql el formato de su fecha es YYYY-MM-DD en mi aplicacion la tengo DD-MM-YYYY quisiera poder convertir ese valor que esta en input text al de YYYY-MM-DD mediante javascript espero les sea posible brindarme su ayuda
  #2 (permalink)  
Antiguo 10/11/2009, 20:47
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cambiar formato de fecha de DMY - YMD

¿como el usuario introduce la fecha en dicho campo? si la escribe manualmente, (y por supuesto, es mi opinion) ¿no crees que es mejor instruir al usuario en que formato que debe introducir la fecha? si estas usando algun script que genera la fecha, verifica si puedes configurar el formato. esa es una de las posibilidades.

si estas trabajando con java, puedes ordenar la fecha en el formato correcto antes de introducirla a mysql. a mi parecer, este ultimo es preferible porque asi el usuario no tiene que cambiar el formato en que se escribe la fecha segun el pais o cultura de este.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 11/11/2009, 09:42
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Cambiar formato de fecha de DMY - YMD

Hola mi estimado Zerokilled claro es muy logico lo que dices lo que hago es que la pagina al carga ya aparece la fecha actual pero me pidieron que puedan manipular esa fecha a su gusto asi que acople un Calendar de Jquery alli pero con formato DMY por la costumbre del usuario pero ya al momento que yo dea registrar factura Mysql la pide en YYYY/MM/DD si no que el problema que no he encontado aun un ejemplo de ese tipo La mayoria usan una variable y lo asignan a la Clase Date de javascript y comienzan a manipular esa variable a su antojo.

Mi duda es si se podra capturar ese string de input text que ya tiene la forma DD/MM/YYY y hacerlo YYYY/MM/DD en javascript o bien al pasarlo a mi servlet con Java gracias por tomarte
el tiempo de asesorar a este espeso practicante
  #4 (permalink)  
Antiguo 11/11/2009, 10:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Cambiar formato de fecha de DMY - YMD

bueno ne realidad no se que tan eficiente sea pero lo solucione asi:

var fecha=document.getElementById("inputDate").value; // 10/11/2009
var anio=String(fecha).substring(6,10); //2009
var dia= String(fecha).substring(0,2); //10
var mes= String(fecha).substring(3,5); //11

var aniomysql=anio +'-'+ mes +'-'+ dia
alert(aniomysql);

gracias por la ayuda de todas maneras Zerokilled y espero le sirva a alguien hace tiempo era q deje .net que lindo es JAVA
  #5 (permalink)  
Antiguo 11/11/2009, 11:18
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Cambiar formato de fecha de DMY - YMD

yo lo hubiera hecho con split, no porque sea mas eficiente sino por evitar el riesgo de substraer una porcion erronea debido a posible diferencias de longitud de cadena.
Código:
var fecha = document.getElementById("inputDate").value.split("/");
var aniomysql = fecha.reverse().join("-");
alert(aniomysql);
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 11/11/2009, 11:52
 
Fecha de Ingreso: noviembre-2009
Mensajes: 12
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Cambiar formato de fecha de DMY - YMD

Muy buena Zerokilled buen punto lo de la cadena de la longitud mejor lo reemplaze con tu idea ademas son menos lineas de codigo muy agradecido.
  #7 (permalink)  
Antiguo 18/01/2012, 07:49
 
Fecha de Ingreso: noviembre-2011
Mensajes: 3
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Cambiar formato de fecha de DMY - YMD

buenos dias tengo este codigo q valida en dd mm yyyy y no encuentro la forma de cambiarlo de formato para yyyy mm dd utilize este codigo y no me funciono si algun coolega me puede ayudar se lo agradesco


<script type="text/javascript">

function esDigito(sChr){
var sCod = sChr.charCodeAt(0);
return ((sCod > 47) && (sCod < 58));
}

function valSep(oTxt){
var bOk = false;
bOk = bOk || ((oTxt.value.charAt(2) == "-") && (oTxt.value.charAt(5) == "-"));
bOk = bOk || ((oTxt.value.charAt(2) == "/") && (oTxt.value.charAt(5) == "/"));
return bOk;
}

function finMes(oTxt){
var nAno = parseInt(oTxt.value.substr(6), 10);
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
var nRes = 0;
switch (nMes){
case 1: nRes = 31; break;
case 2: nRes = 28; break;
case 3: nRes = 31; break;
case 4: nRes = 30; break;
case 5: nRes = 31; break;
case 6: nRes = 30; break;
case 7: nRes = 31; break;
case 8: nRes = 31; break;
case 9: nRes = 30; break;
case 10: nRes = 31; break;
case 11: nRes = 30; break;
case 12: nRes = 31; break;
}
return nRes +(nAno % 4) && (((nMes == 2) == 0)? 1: 0);
}


function valMes(oTxt){
var bOk = false;
var nMes = parseInt(oTxt.value.substr(3, 2), 10);
bOk = bOk || ((nMes >= 1) && (nMes <= 12));
return bOk;
}

function valDia(oTxt){
var bOk = false;
var nDia = parseInt(oTxt.value.substr(0, 2), 10);
bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
return bOk;
}

function valAno(oTxt){
var bOk = true;
var nAno = oTxt.value.substr(6);
bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
if (bOk){
for (var i = 0; i < nAno.length; i++){
bOk = bOk && esDigito(nAno.charAt(i));
}
}
return bOk;
}




function valFecha(oTxt){
var bOk = true;
if (oTxt.value != ""){
bOk = bOk && (valAno(oTxt));
bOk = bOk && (valMes(oTxt));
bOk = bOk && (valDia(oTxt));
bOk = bOk && (valSep(oTxt));
return bOk;
}
}

function fechaMayorOIgualQue(fechaprestamo, fechadevolucion){
var bRes = false;
var sAno0 = fechaprestamo.value.substr(6, 4);
var sMes0 = fechaprestamo.value.substr(3, 2);
var sDia0 = fechaprestamo.value.substr(0, 2);
var sAno1 = fechadevolucion.value.substr(6, 4);
var sMes1 = fechadevolucion.value.substr(3, 2);
var sDia1 = fechadevolucion.value.substr(0, 2);
if (sAno0 > sAno1) bRes = true;
else {
if (sAno0 == sAno1){
if (sMes0 > sMes1) bRes = true;
else {
if (sMes0 == sMes1)
if (sDia0 >= sDia1) bRes = true;
}
}
}
return bRes;
}

function valFechas(){
var bOk = false;
if (valFecha(document.f1.fechaprestamo)){
if (valFecha(document.f1.fechadevolucion)){
if (fechaMayorOIgualQue(document.f1.fechadevolucion, document.f1.fechaprestamo)){
bOk = true;
alert("Ok");
} else {
alert("Rango inválido");
document.f1.fechadevolucion.focus();
return false
}
} else {
alert("Fecha devolucion inválida");
document.f1.fechadevolucion.focus();
return false
}
} else {
alert("Fecha prestamo inválida");
document.f1.fechaprestamo.focus();

return false
}


return true


var fechaprestamo = document.getElementById("inputDate").value.split("/");
var fechadevolucion = document.getElementById("inputDate").value.split("/");
var aniomysql = fechaprestamo.reverse().join("-");
var aniomysql = fechadevolucion.reverse().join("-");
alert(aniomysql);
}



</script>



<div id="wb_Form1" style="position:absolute; background-color:#FFFFFF;border:5px #003366 double; left:135px;top:300px;width:505px;height:445px;z-index:65">

<Form onsubmit="return valFechas()" NAME ="f1" METHOD="POST" ACTION="guardarequiposprestados.php">
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 23:01.