2010-01-18 26 views
7

Estoy intentando crear una función en javascript para traer la fecha de mi base de datos en formato (aaaa-mm-dd) y mostrarla en la página como (dd/mm/aa).Función de Javascript para convertir la fecha aaaa/mm/dd a dd/mm/aa

Agradeceria cualquier ayuda.

Gracias.

PD: Avíseme si necesita más aclaraciones.

+1

¿cómo se obtiene la fecha de su base de datos? –

+0

http://stackoverflow.com/search?q=convert+date – Upperstage

+3

¿Puedo hacer un llamado para dejarlo tal como está? 'aaaa-mm-dd' es un formato de fecha perfectamente legible. 'dd/mm/aa' es un horror ambiguo. (¿Es ordenes de fecha en el Reino Unido o Estados Unidos? ¿Qué siglo? No puedo decirlo de inmediato mirándolo). – bobince

Respuesta

11

Si está seguro de que la fecha que proviene del servidor es válida, un simple RegExp puede ayudarlo a cambiar el formato:

function formatDate (input) { 
    var datePart = input.match(/\d+/g), 
    year = datePart[0].substring(2), // get only two digits 
    month = datePart[1], day = datePart[2]; 

    return day+'/'+month+'/'+year; 
} 

formatDate ('2010/01/18'); // "18/01/10" 
+0

Sólo en caso de que alguien quiere mostrar todo el año es decir los 4 dígitos usan este: año = DATEPART [0] .substring (0,4) Sólo añadir, ya que podría no ser inmediatamente evidente. ¡Gracias por la respuesta! –

9

La manera más fácil asumir que no está preocupado acerca de la función de ser dinámico:

function reformatDate(dateStr) 
{ 
    dArr = dateStr.split("-"); // ex input "2010-01-18" 
    return dArr[2]+ "/" +dArr[1]+ "/" +dArr[0].substring(2); //ex out: "18/01/10" 
} 
1

También es posible que desee ver en el uso date.js:

http://www.datejs.com

Para FutureProof su aplicación, es posible que desee volver a tiempo en una marca de hora UTC y el formato con JavaScript. Esto le permitirá admitir diferentes formatos para diferentes países (en los EE. UU., Estamos más familiarizados con DD-MM-YYYY, o instancia), así como en zonas horarias.

Cuestiones relacionadas