2012-03-02 11 views

Odpowiedz

5

istnieje wiele pakietów dostępnych dla formatowania data javascript, miałem wielki sukces z Steven Levithan's dateformat.

dateFormat(getDate(), "dd mmm yyyy hh:MMtt"); 

Edit: Dodaje również metodę format do Date.prototype, jeśli lubisz ten styl:

getDate().format("dd mmm yyyy hh:MMtt"); 
8

Istnieje świetna biblioteka JavaScript, która radzi sobie z tym bardzo dobrze, a jedynie 5,5 kb minęło.

http://momentjs.com/

Wygląda to mniej więcej tak:

moment().format('MMMM Do YYYY, h:mm:ss a'); // February 25th 2013, 9:54:04 am 
moment().subtract('days', 6).calendar(); // "last Tuesday at 9:53 AM" 

Można także przekazać w terminach jak String z formatu albo Date obiektu.

var date = new Date(); 
moment(date); // same as calling moment() with no args 

// Passing in a string date 
moment("12-25-1995", "MM-DD-YYYY"); 

ma również wielkie wsparcie dla języków innych ówczesnych angielskich, jak, rosyjski, japoński, arabski, hiszpański, etc ..

Zapoznaj się z docs.

6

Jeśli nie chcesz korzystać z żadnych bibliotek:

<script type="text/javascript"> 

    var myDate = new Date(); 

    var month=new Array(); 
    month[0]="Jan"; 
    month[1]="Feb"; 
    month[2]="Mar"; 
    month[3]="Apr"; 
    month[4]="May"; 
    month[5]="Jun"; 
    month[6]="Jul"; 
    month[7]="Aug"; 
    month[8]="Sep"; 
    month[9]="Oct"; 
    month[10]="Nov"; 
    month[11]="Dec"; 
    var hours = myDate.getHours(); 
    var minutes = myDate.getMinutes(); 
    var ampm = hours >= 12 ? 'pm' : 'am'; 
    hours = hours % 12; 
    hours = hours ? hours : 12; 
    minutes = minutes < 10 ? '0'+minutes : minutes; 
    var strTime = hours + ':' + minutes + ampm; 
    // e.g. "13 Nov 2016 11:00pm"; 
    alert(myDate.getDate()+" "+month[myDate.getMonth()]+" "+myDate.getFullYear()+" "+strTime); 
</script> 
+2

myDate.getDay() daje ci dzień tygodnia. Zamiast tego użyj getDate(). Źródło: http://www.w3schools.com/jsref/jsref_obj_date.asp –

Powiązane problemy