2016-07-12 3 views
0

Ich habe das folgende Javascript, um das Datum auf einer Seite anzuzeigen, jedoch wollte ich die Suffixe "th", "st" und "rd" nach jeder Datumsnummer hinzufügen (zB "6th").Hinzufügen von Datumssuffixen

Gibt es eine Möglichkeit, dies mit dem folgenden Code zu tun, den ich derzeit habe?

<script language="Javascript"> 
<!-- 

// Array of day names 
var dayNames = new Array("You're working today? It's Sunday","Hello, it's Monday","Hello, it's Tuesday","Hello, it's Wednesday", 
    "Hello, it's Thursday","Hello, it's Friday","You're working today? It's Saturday"); 

// Array of month Names 
var monthNames = new Array(
"January","February","March","April","May","June","July", 
"August","September","October","November","December"); 

var now = new Date(); 
document.write (dayNames[now.getDay()] + ", " + 
now.getDate() + " " + 
monthNames[now.getMonth()] + " " + 
now.getFullYear() + "."); 
// --> 
</script> 

Vielen Dank im Voraus

+0

Es bevor hier beantwortet wurde: http://stackoverflow.com/a/13627586/2362973 – mrgoos

+0

Es gibt [* viele ähnliche Fragen *] (http://stackoverflow.com/search?q=%5Bjavascript%5D+add+ordinal). – RobG

Antwort

0

Sie moment.js wie diese verwenden:

var dt = new Date(); 
moment(dt).format('Do') // "12th" 
+0

Eine Antwort sollte nicht von einer Bibliothek abhängen, die im OP nicht markiert oder angefordert wird. Wenn eine Bibliothek benötigt wird, um einer Zahl eine Ordnungszahl hinzuzufügen, ist dies ein schwerer Overkill. – RobG

0

Es gibt andere Lösungen, wenn Sie verwenden möchten, nicht über eine Bibliothek. Eine schnelle Suche auf StackOverflow führte mich zu diesem answer. Sie müssen eine dieser Funktionen in Ihren Code integrieren, indem Sie den Wert now.getDate() eingeben.

0

Sie verwenden dayNames[now.getDay()] schlägt vor, dass der Schlüssel, den Sie suchen, now.getDay() ist, die nicht auf Null basiert. Ich schlage vor, dass Sie Ihren Wert für Sonntag am Ende des Arrays verschieben und dayNames[now.getDay() - 1] für mehr Klarheit verwenden.

Zum Thema, können Sie diese Antwort für die Lösung überprüfen: Convert date day (05/12/2011 to 12th)