2014-12-15 15 views
14

ile alın. Tarih biçimini javascript'te 'DD-Mon-YYYY' olarak almalıyım. Ben question sormuştu ve "GG-AY-YYYY" jQuery date formattingGeçerli tarihi DD-Mon-YYY biçiminde JavaScript/Jquery

için yinelenen Ama söz verilen cevaplar "GG-AA-YYYY" biçiminde geçerli tarih almak için işaretli değil got . İkincisi, datepicker eklentisini kullanmıyorum.

Güncel tarihi "DD-Mon-YYYY" biçiminde nasıl alacağınız konusunda bana yardımcı olabilir misiniz?

cevap

30

DD-Mon-YYYY için javascript'te yerel biçim yoktur. Hepsini manuel olarak bir araya getirmeniz gerekecek.

cevap bu soruya esinlenerek: How to format a JavaScript date

var m_names = new Array("Jan", "Feb", "Mar", 
"Apr", "May", "Jun", "Jul", "Aug", "Sep", 
"Oct", "Nov", "Dec"); 

var d = new Date(); 
var curr_date = d.getDate(); 
var curr_month = d.getMonth(); 
var curr_year = d.getFullYear(); 
document.write(curr_date + "-" + m_names[curr_month] 
+ "-" + curr_year); 
2

DD-MM-YYYY, biçimlerden yalnızca biridir. jQuery eklentisi biçimi, bu listede dayanmaktadır: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

krom konsolunda kodu aşağıdaki test:

test = new Date() 
test.format('d-M-Y') 
"15-Dec-2014" 
+0

evet ben tarih biçimini anlıyorum ama nasıl ben geçerli tarih dönüştürebilirsiniz dd-mon- yyyy, Örn: 15 Aralık 2014'te geçerli tarihi almak istiyorum. – Tushar

+0

Normalde bunun çalışması gerekir (konsolda test edilir): test = new Date(); test.format ('d-M-Y') –

+3

Bu, krom konsolumda çalışmadı. – Ahmad

-3

Kullanım tarih biçimini dd-AA-yy. Çıktı: 16 Aralık 2014.

+0

Bu bir cevap değil.Geçerli bir geçerli yanıt gönderin Lütfen – Ahmad

2

Özel bir tarih dizesi biçim işlevi yaptım, bunu kullanabilirsiniz.

var getDateString = function(date, format) { 
     var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], 
     getPaddedComp = function(comp) { 
      return ((parseInt(comp) < 10) ? ('0' + comp) : comp) 
     }, 
     formattedDate = format, 
     o = { 
      "y+": date.getFullYear(), // year 
      "M+": months[date.getMonth()], //month 
      "d+": getPaddedComp(date.getDate()), //day 
      "h+": getPaddedComp((date.getHours() > 12) ? date.getHours() % 12 : date.getHours()), //hour 
      "H+": getPaddedComp(date.getHours()), //hour 
      "m+": getPaddedComp(date.getMinutes()), //minute 
      "s+": getPaddedComp(date.getSeconds()), //second 
      "S+": getPaddedComp(date.getMilliseconds()), //millisecond, 
      "b+": (date.getHours() >= 12) ? 'PM' : 'AM' 
     }; 

     for (var k in o) { 
      if (new RegExp("(" + k + ")").test(format)) { 
       formattedDate = formattedDate.replace(RegExp.$1, o[k]); 
      } 
     } 
     return formattedDate; 
    }; 

Ve şimdi ettik varsayalım: -

var date = "2014-07-12 10:54:11"; 

Yani yazmak bu tarihi biçimlendirmek: -

var formattedDate = getDateString(new Date(date), "d-M-y") 
2

Sen yapabileceğini aşağıdaki

var date = new Date(); 
date.toLocaleDateString("en-au", {year: "numeric", month: "short",day: "numeric"}).replace(/\s/g,'-') 
1
/* 
    #No parameters 
    returns a date with this format DD-MM-YYYY 
*/ 
function now() 
{ 
    var d = new Date(); 
    var month = d.getMonth()+1; 
    var day = d.getDate(); 

    var output = (day<10 ? '0' : '') + day + "-" 
       + (month<10 ? '0' : '') + month + '-' 
       + d.getFullYear(); 

    return output; 
} 
+0

Bu çok düşük kaliteli bir cevaptır: Lütfen kodunuzun ne yaptığını açıklayınız. Ayrıca, bu kod parametre almaz, ancak global bir 'd' değişkeni bekler. Son olarak, OP'lerin sorusuna cevap vermez: YYYY/AA/GG, istenen DD-Mon-YYY ile aynı değildir. – wintvelt

+0

@wintvelt Üzgünüm. Cevap güncellendi. – gtzinos

0
var date = new Date(); 

console.log(date.toJSON().slice(0,10).replace(new RegExp("-", 'g'),"/").split("/").reverse().join("/")+" "+date.toJSON().slice(11,19)); 

// çıktı: 01/09/2016 18:30:00

+0

OP tarafından istenen format bu değil. – Ahmad

-1

  var today = new Date();   
 

 
      var formattedtoday = today.getDate() + '-' + (today.getMonth() + 1) + '-' + today.getFullYear(); 
 
      
 
      alert(formattedtoday);

+0

Bu cevap OP'nin gereksinimini karşılamıyor. Gerekli format dd-Mon-yyyy değil dd-MM-yyyy – Ahmad

İlgili konular