我有以下旨在修改日期格式的Javascript,但是我想在每个结束日期前添加日期原始或后缀,例如“ st”,“ nd”,“ rd”,“ th”数。例如,假设我们当前的日期设置为4月28日,但我想将日期显示为4月28日。
所以,如果有可能...如何将这个示例代码添加到当前的javascript字符串中?
var nth = function(d) { if (d > 3 && d < 21) return 'th'; switch (d % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th"; } }
当前JS:
// Blog date
window.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.waddons-blog-meta').forEach(el => el.textContent = formatDateString(el.textContent))
}, false);
function formatDateString(s) {
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var arr = s.split('/');
return arr[1] + " " + months[arr[0] - 1];
}
当前HTML:
<div class="waddons-blog-meta">3/7/2020 - </div>
简单来说,您可以在代码中调用nth
函数。
var nth = function (d) {
if (d > 3 && d < 21) return 'th'; switch (d % 10) {
case 1: return "st";
case 2: return "nd";
case 3: return "rd";
default: return "th";
}
}
window.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.waddons-blog-meta').forEach(el => el.textContent = formatDateString(el.textContent))
}, false);
function formatDateString(s) {
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var arr = s.split('/');
return arr[1] + nth(arr[1]) + " " + months[arr[0] - 1];
}
如果要在th
值上标,请使用以下代码
window.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('.waddons-blog-meta').forEach(el => el.innerHTML = formatDateString(el.textContent))
}, false);
function formatDateString(s) {
var months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var arr = s.split('/');
return arr[1] + "<sup>" + nth(arr[1]) + "</sup>" + " " + months[arr[0] - 1];
}