Преобразование DateTime в дату в ES6 - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь преобразовать это значение 2020-06-16T02:55:08.151437Z в Date, используя эту функцию ниже. Как я могу правильно преобразовать это наилучшим и эффективным способом? Если возможно, без пакетов, пожалуйста

ФУНКЦИЯ

export function getParsedDate(date) {
  date = String(date).split(' ');
  const days = String(date[0]).split('-');
  const hours = String(date[1]).split(':');
  return [
    parseInt(days[0]),
    parseInt(days[1]) - 1,
    parseInt(days[2]),
    parseInt(hours[0]),
    parseInt(hours[1]),
    parseInt(hours[2]),
  ];
}

JSX

{getParsedDate(order.date)}

Ответы [ 3 ]

2 голосов
/ 17 июня 2020

Вы можете использовать Javascript native Date конструктор

new Date('2020-06-16T02:55:08.151437Z')

В jsx,

{new Date('2020-06-16T02:55:08.151437Z').toString()}

Проверьте шаблоны форматирования в документах: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toString

1 голос
/ 17 июня 2020

Мне также не нравится использовать библиотеки для всех задач, которые можно легко выполнить без библиотеки. Вот некоторые из встроенных JS методов, которые вы должны попробовать:

let date1=new Date("2020-06-16T02:55:08.151437Z").toDateString()
console.log(date1)

let date2=new Date("2020-06-16T02:55:08.151437Z").toUTCString()
console.log(date2)

let date3=new Date("2020-06-16T02:55:08.151437Z").toLocaleDateString()
console.log(date3)

let date4=new Date("2020-06-16T02:55:08.151437Z").toLocaleDateString('en-US', {
month: '2-digit',day: '2-digit',year: 'numeric'})
console.log(date4)

let date5=new Date("2020-06-16T02:55:08.151437Z").toString()
console.log(date5)

let date6=new Date("2020-06-16T02:55:08.151437Z").toLocaleString()
console.log(date6)
0 голосов
/ 17 июня 2020

Вы можете использовать эту популярную библиотеку под названием moment. js при работе с датами:
Документация:
https://momentjs.com/docs/

Форматирование даты Do c :
https://momentjs.com/docs/# / parsing / string-format /

Чтобы получить дни и часы с даты, вы можете перейти по этой ссылке:
https://momentjs.com/docs/# / get-set / day /

Решение:

const d = "2020-06-16T02:55:08.151437Z";
const convertedDate = moment(d).format("DD-MM-YYYY");
console.log(convertedDate);

Итак, с помощью этой библиотеки вы можете преобразовать дату практически в любой поддерживаемый формат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...