【发布时间】:2022-01-11 09:47:58
【问题描述】:
var date = new Date();
var month = date.getMonth();
var arr = [
'лютого',
'березня',
'квітня',
'травня',
'червня',
'липня',
'серпня',
'вересня',
'жовтня',
'листопада',
'грудня',
'січня',
];
$('.rf_title').text('Данi оновлено ' + date.getDate() + ' ' + arr[month-1] + ' ' + date.getFullYear() +' о ' + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':' + '' + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()));
我很困惑为什么这显示为未定义。它工作得很好,直到新年。 2022 年一到就结束了。enter image description here
【问题讨论】:
-
getMonth() 返回零索引月份。不需要-1
-
date.getMonth()会给你 0 到 11。其余的我相信你可以推断出来。 -
您可以使用
... + arr[(month? month : arr.length) - 1] + ...,这样如果 month 为零(一月),则表达式返回十二月的值。 -
请注意,乌克兰语的语言代码是 uk-UA,因此您可以将月份名称设为
new Date().toLocaleString('uk-UA',{month:'long'})(当前为“січень”)并省去一些麻烦。 :-) -
如果对您有帮助,请采纳答案:)
标签: javascript html date undefined