Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.04.2020, 11:27
Аспирант
Отправить личное сообщение для Tipylja Посмотреть профиль Найти все сообщения от Tipylja
 
Регистрация: 17.04.2017
Сообщений: 72

Парсинг даты в определенном формате
Здравствуйте. У меня есть дата вот в таком формате
dd-mm-yyyy

Мне нужно ее распарсить при помощи метода Date.parse
Date.parse("21-4-2020")

Но я получаю Nan
Хотя вот в таком формате yyyy-mm-dd парсится нормально.
Date.parse("2020-4-21")

Подскажите, как решить такой вопрос можно?
Ответить с цитированием
  #2 (permalink)  
Старый 21.04.2020, 11:42
Аспирант
Отправить личное сообщение для Tipylja Посмотреть профиль Найти все сообщения от Tipylja
 
Регистрация: 17.04.2017
Сообщений: 72

Сделал так...
const item = "test_21-4-2020.zip";
const date = item
        .slice(0, item.indexOf("."))
        .slice(item.indexOf("_") + 1, item.length);

const [day, mounth, year] = date.split("-");      
const timeStamp = Date.parse(`${year}-${mounth}-${day}`);
console.log("-> timeStamp", timeStamp);

Может есть какой-то универсальный метод для этого дела?=)

Последний раз редактировалось Tipylja, 21.04.2020 в 12:36.
Ответить с цитированием
  #3 (permalink)  
Старый 21.04.2020, 12:35
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,744

Универсального метода для получения даты из произвольной строки точно не существует.
Ответить с цитированием
  #4 (permalink)  
Старый 21.04.2020, 14:23
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от Tipylja
Может есть какой-то универсальный метод для этого дела?=)
Если только внешняя библиотека или свой велосипед.

Например:
https://github.com/wanasit/chrono
const chrono = require('chrono-node');

console.log(
    chrono.parseDate('21-4-2020').toString()// Tue Apr 21 2020 12:00:00 GMT+0300 (GMT+03:00)
);
Ответить с цитированием
  #5 (permalink)  
Старый 21.04.2020, 15:11
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Tipylja
Может есть какой-то универсальный метод для этого дела?=)
Если только развернуть дату...
const item = "test_21-4-2020.zip";
const timeStamp = Date.parse(item.replace(/^.*_|\..*$/g, "").split("-").reverse().join("-"));
console.log("→ timeStamp", timeStamp);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не отобржается в нужном формате шаблон даты в Chrome alex-romanov Opera, Safari и др. 5 14.06.2019 20:51
Парсинг даты Allan Stark Общие вопросы Javascript 4 30.01.2014 18:57
скрипт вывода даты в формате 01.12.2014 aleksandr8i Общие вопросы Javascript 7 04.01.2014 15:05
Имеет ли смысл хранить даты в отдельной таблице? frutality Серверные языки и технологии 7 15.08.2013 19:39
проблема с сортировкой даты rave82 jQuery 3 27.09.2011 01:35