0

I have been post a question here. But the answer only work on Chrome, it does not work on IE(11).

How can I fix on IE?

Datetime from Net get by ajax: /Date(1556895600000+0900)/

const parse = str => {
    let [_, timestamp, offsetHours, offsetMinutes] = str.match(/(\d+)\+(\d\d)(\d\d)/).map(Number);

    let date = new Date(timestamp);
    date.setHours(date.getHours() + offsetHours);
    date.setMinutes(date.getMinutes() + offsetMinutes);
    return date;
}

console.log(
    parse("/Date(1556895600000+0900)/")
    .toJSON()
)
0

1 Answer 1

1

Simply transpile the ES6 code you have into ES5 that won't choke Internet Explorer

    function parse(str) {
        var result = str.match(/(\d+)\+(\d\d)(\d\d)/).map(Number),
            // _ = result[0], // never used, but included for completeness
            timestamp = result[1],
            offsetHours = result[2],
            offsetMinutes = result[3],
            date = new Date(timestamp);
        date.setHours(date.getHours() + offsetHours);
        date.setMinutes(date.getMinutes() + offsetMinutes);
        return date;
    }
    console.log(
        parse("/Date(1556895600000+0900)/")
        .toJSON()
    )

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.