Добавление суффиксов даты

У меня есть следующий Javascript для отображения даты на странице, однако я хотел добавить суффиксы "th", "st" и "rd" после каждого номера даты (т. Е. "6th").

Есть ли способ сделать это с помощью следующего кода, который у меня сейчас есть?

    <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>

заранее спасибо

3 ответа

Есть и другие решения, если вы не хотите использовать библиотеку. Выполнение быстрого поиска в Stackru привело меня к этому ответу. Вам нужно будет включить одну из этих функций в ваш код, принимая значение из now.getDate(),

Вы можете использовать moment.js вот так:

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

Ты используешь dayNames[now.getDay()] предполагает, что ключ, который вы ищете now.getDay(), который не основан на нуле. Я предлагаю переместить ваше значение для воскресенья в конец массива и использовать dayNames[now.getDay() - 1] для большей ясности.

По теме, вы можете проверить этот ответ для решения: конвертировать день (с 12/12/2011 по 12)

Другие вопросы по тегам