Добавление суффиксов даты
У меня есть следующий 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)