Как преобразовать эту дату в фактическую дату - PullRequest
0 голосов
/ 11 марта 2020

Так что это новый для меня. Я работал с этим API, и они вернули дату в json формате, который выглядит следующим образом

{
 DateAdd: "/Date(1582936941390-0600)/"
}

, но я не совсем уверен, как преобразовать это в дату и время, как в формате ниже, чтобы я мог на самом деле сделай что-нибудь с этим.

2020-03-13 23:08:00

Я никогда не видел этот формат даты раньше! Спасибо

Ответы [ 3 ]

1 голос
/ 11 марта 2020

Используйте момент. js для преобразования формата даты

var data = {
 DateAdd: "/Date(1582936941390-0600)/"
}
var datam = moment(data.DateAdd)
console.log(datam.format("YYYY-MM-DD HH:mm:ss")) // 2020-02-29 07:42:21
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment-with-locales.min.js"></script>
0 голосов
/ 11 марта 2020

Вы можете преобразовать дату в желаемый формат с помощью Javascript даты объекта.

let addZero = (i) => {
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }
    
let formatDate = (date) => {
        let year = date.getFullYear(),
            month = addZero(date.getMonth() + 1),
            day = addZero(date.getDate() + 1),
            hours = addZero(date.getHours() + 1),
            minutes = addZero(date.getMinutes() + 1),
            seconds = addZero(date.getSeconds() + 1);
        let dateArr = [year, month, day];
        let timeArr = [hours, minutes, seconds];
        let result = dateArr.join('-').concat(" ", timeArr.join(':'));
        return result;
    }
    
let inputString = "/Date(1582936941390-0600)/";
let inputData = new Date(Number(inputString.match(/\d+/)[0]));

console.log(formatDate(inputData));

Подробнее о Javascript объект даты

0 голосов
/ 11 марта 2020

Если вам не важен часовой пояс, вы можете просто вырезать временную метку из этой строки:

const dateString = data.DateAdd;
const date = new Date(Number(dateString.match(/\d+/)[0]));
...