Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как отформатироватить даты в одном формате? (https://javascript.ru/forum/misc/80331-kak-otformatirovatit-daty-v-odnom-formate.html)

user2020 24.05.2020 08:14

Как отформатироватить даты в одном формате?
 
Добрый день!
Подскажите как отформатировать даты в одном формате,может есть универсальный способ?
Например на вход получаем
[2020, 0, 1]
(2020, 0, 1)
'2020-10-02'
1234567890000

На выходе
'01.01.20'
'01.01.20'
'02.10.20'
'14.02.09'

Пример
const formatDate = (date) => {
   function formatDate(date) {
  
    var dd = date.getDate();
    if (dd < 10) dd = '0' + dd;
  
    var mm = date.getMonth() + 1;
    if (mm < 10) mm = '0' + mm;
  
    var yy = date.getFullYear() % 100;
    if (yy < 10) yy = '0' + yy;
  
    return (dd + '.' + mm + '.' + yy);
    return formatDate();
  }
  
}

рони 24.05.2020 09:28

аргументы разных типов в одинаковый формат даты
 
user2020,

<script>
const formatDate = (...date) => {
date = date.flat();
if(typeof date[0] === 'string') date = [Date.parse(...date)];
date = new Date(...date);
return (new Intl.DateTimeFormat("ru", {
        day: "2-digit",
        month: "2-digit",
        year: "2-digit"
    })).format(date)
}

document.write(formatDate([2020, 0, 1])+"<br>")
document.write(formatDate(2020, 0, 1)+"<br>")
document.write(formatDate('2020-10-02')+"<br>")
document.write(formatDate(1234567890000)+"<br>")
</script>

MC-XOBAHCK 03.08.2020 22:07

Простое решение:
const date1 = new Date('2020-08-03T11:46:25+00:00');

let date = date1.getDate();
if (date < 10) date = '0' + date;

let month = date1.getMonth();
if (month < 10) month = '0' + month;

let year = date1.getFullYear();

let result = date + '.' + month + '.' + year;


Часовой пояс GMT +3, время: 07:43.