2011-02-08 32 views
26

Quiero obtener la fecha actual en el formato de dd-mm-aaaaJavascript fecha de conseguir en formato

estoy usando var currentDate = new Date(); document.write(currentDate);

no puedo encontrar la manera de darle formato.

vi los ejemplos var currentTime = new Date(YY, mm, dd); y currentTime.format("mm/dd/YY");

Ambos de los cuales no funcionan

finalmente Tengo una cita con el formato adecuado usando

var today = new Date(); 
var dd = today.getDate(); 
var mm = today.getMonth()+1;//January is 0!` 

var yyyy = today.getFullYear(); 
if(dd<10){dd='0'+dd} 
if(mm<10){mm='0'+mm} 
var today = mm+'/'+dd+'/'+yyyy; 
document.write(today);'` 

Esto parece muy complejo para una tarea tan sencilla .

¿Existe alguna forma mejor de obtener la fecha de hoy en dd/mm/yyyy?

+0

Lo haría manualmente 'var d = new Date(); \t \t \t \t var s = new Cadena(); \t \t \t \t s = (d.getHours() + "-" + d.getMinutes() + "-" + d.getSeconds() + "" + d.getDate() + "-" + d.getMonth() + "-" + d.getFullYear()). toString(); '. Referencia: http://www.w3schools.com/jsref/jsref_obj_date.asp – Nav

Respuesta

22

Desafortunadamente no hay mejor manera, pero en lugar de reinventar la rueda, se puede usar una biblioteca de tratar de análisis de formato y fechas: Datejs

<plug class="shameless">

O, si encuentras formato especificadores feo y difícil de descifrar, here's a concise formatting implementation que le permite utilizar especificadores de formato legible por humanos (es decir, the Date instance getters sí mismos):

date.format("{Month:2}-{Date:2}-{FullYear}"); // mm-dd-yyyy 

</plug>

+0

Fantástico. ¡Gracias! –

+0

Bonita biblioteca, fue muy útil. –

3

La respuesta simple es no. Esa es la única forma de hacerlo que yo sepa. Probablemente pueda envolverlo en una función que pueda volver a usar muchas veces.

+0

pensó que podría ser el caso. Gracias amigo –

1

date.js es Que necesitas. Por ejemplo, fragmento a continuación es la de convertir una fecha a cadena como el estilo de Java

new Date().toString('M/d/yyyy') 
-2
function appendZeros(value,digits){ 
    var c= 1; 
    initValue = value; 
    for(i=0;i<digits-1;i++){ 
     c = c*10; 
     if(initValue < c){ 
      value = '0' + value; 
     } 
    } 
    return value; 
} 
2
function dateNow(splinter){ 
    var set = new Date(); 
    var getDate = set.getDate().toString(); 
    if (getDate.length == 1){ //example if 1 change to 01 
    getDate = "0"+getDate; 
    } 
    var getMonth = (set.getMonth()+1).toString(); 
    if (getMonth.length == 1){ 
    getMonth = "0"+getMonth; 
    } 
    var getYear = set.getFullYear().toString(); 
    var dateNow = getMonth +splinter+ getDate +splinter+ getYear; //today 
    return dateNow; 
} 

formato de esta función es dd mm aaaa y de la que se puede dividir elección y reemplazar si quieres ... por ejemplo dateNow ("/") obtendrá 12/12/2014

11
var today = new Date(); 

var strDate = 'Y-m-d' 
    .replace('Y', today.getFullYear()) 
    .replace('m', today.getMonth()+1) 
    .replace('d', today.getDate()); 
+1

Muy bonito y conciso ... – Eamorr

+0

Respuesta inteligente +1 –

-1
(new Date()).format("MM-dd-yyyy") 

NB mes es "MM" no "mm"

+0

Su descripción no está nítida. Además, ya hay muchas respuestas realmente buenas a esta pregunta. ¿Tu respuesta contribuye algo? Si es así, por favor explique en su respuesta. – Suever