@id194695811

Moment.js Почему я получаю разные значения Unix Timestamp при «одинаковых» входных значениях?

У меня есть простой код реализующий Timestamp API. Он принимает на вход дату в виде строки MMMM-DD-YYYY или в виде Unix Timestamp, конвертирует и возвращает соответственно MMMM-DD-YYYY или Unix Timestamp

var express = require('express');
var moment = require('moment');
var url = require('url');
var cors = require('cors');
var port = process.env.PORT || 8080;

var app = express();
app.use(cors());

app.route('/').get(function (req, res) {
    res.sendFile(process.cwd() + '/index.html')
});

app.get('/:date', function(req, res) {

    var URL = url.parse(req.url).pathname.replace(/%20/g, ' ').slice(1);

    if (isNaN(URL)) {
        var unixtime = moment(URL, "LL").unix()
        var naturaltime = moment(URL, "LL").format("LL")
    } else {
        var unixtime = moment.unix(URL, "LL").unix()
        var naturaltime = moment.unix(URL).format("LL")
    }

    res.send(JSON.stringify({
        unix : unixtime,
        natural : naturaltime
    }))

});

app.listen(port, function() {
    console.log('Node.js listening on port ' + port)
});


Когда я передаю в качестве запроса unix timestamp. например

http://localhost:8080/1450137600

Я получаю в ответ следующий объект

{
    unix: 1450137600,
    natural: "December 15, 2015"
}


Но если отправлю к примеру тот же December 15, 2015

http://localhost:8080/December 15, 2015

То получу

{
    unix: 1450098000,
    natural: "December 15, 2015"
}


И

http://localhost:8080/1450098000

{
    unix: 1450098000,
    natural: "December 15, 2015"
}


Почему при одинаковых входных значениях я получаю разные unix timestamp ? При том и тот и другой timestamp обозначают одну и ту же дату December 15, 2015
  • Вопрос задан
  • 511 просмотров
Решения вопроса 1
Shutik
@Shutik
Погромист халявщик
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы