Вообще, правильное время получается 13:06
(Часы и минуты), поэтому я сделал два варианта, в одном где правильно:
(Я использовал Intl.DateTimeFormat, стоит обратить внимание на то, что поддержка у него такая себе и был он добавлен относительно давно)
const timestamp = 1683799613782
const result = convertDate(timestamp)
console.log(result) // 2023 11 мая 13:06
function convertDate(timestamp) {
const date = new Date(timestamp)
const parts = new Intl.DateTimeFormat('ru', {
year: 'numeric',
day: 'numeric',
month: 'long',
hour: 'numeric',
minute: 'numeric'
}).formatToParts(date)
const indexMap = {
year: 0,
day: 2,
month: 4,
hour: 6,
minute: 8
}
const result = [
void 0, ' ', // Year
void 0, ' ', // Day
void 0, ' ', // Month
void 0, ':', // Hour
void 0 // Minute
]
for (let i = 0; i < parts.length; i++) {
const part = parts[i]
const { type, value } = part
const index = indexMap[type]
result[index] = value
}
return result.join('')
}
И второй вариант, так как вы хотели:
const timestamp = 1683799613782
const result = convertDate(timestamp)
console.log(result) // 2023 11 мая 00:00
function convertDate(timestamp) {
const date = new Date(timestamp)
const parts = new Intl.DateTimeFormat('ru', {
year: 'numeric',
day: 'numeric',
month: 'long'
}).formatToParts(date)
const indexMap = {
year: 0,
day: 2,
month: 4
}
const result = [
void 0, ' ', // Year
void 0, ' ', // Day
void 0, ' ', // Month
'00:00'
]
for (let i = 0; i < parts.length; i++) {
const part = parts[i]
const { type, value } = part
const index = indexMap[type]
result[index] = value
}
return result.join('')
}