Javascript 在没有任何npm的情况下,将时间戳转换为MM DD、YYYY,反之亦然

Javascript 在没有任何npm的情况下,将时间戳转换为MM DD、YYYY,反之亦然,javascript,node.js,Javascript,Node.js,我在下面编写了microservice,将unix时间戳转换为Dec 012017格式,反之亦然,并部署在这里 在没有第三方NPM的情况下,他们是否有更好的方法来实现这一点 var path = require('path'); var express = require('express'); var app = express(); var bodyparser = require('body-parser'); app.route('/:date') .get(function

我在下面编写了microservice,将unix时间戳转换为Dec 012017格式,反之亦然,并部署在这里

在没有第三方NPM的情况下,他们是否有更好的方法来实现这一点

var path = require('path');
var express = require('express');
var app = express();
var bodyparser = require('body-parser');


app.route('/:date')
    .get(function(req, res) {
        // res.sendFile(process.cwd() + '/views/index.html');
        var unix = null,
            naturaldate = null;
        //console.log(parseInt(timestamp),timestamp)
        let timestamp = req.params.date;
        if (!isNaN(timestamp)) {
            let parsetime = new Date(parseInt(timestamp))
            console.log(parsetime);
            if (parsetime == 'Invalid Date') {
                console.log("got invalid date")
                send_response(null, null, res);
            }
            let parsenaturaldate = parsetime.toDateString().split(" ").slice(1);
            let year = parsenaturaldate.splice(2, 0, ',');
            year = parsenaturaldate.splice(1, 0, ' ')
            naturaldate = parsenaturaldate.join("")
            console.log(naturaldate)
            unix = parseInt(timestamp)
            send_response(unix, naturaldate, res);
        } else {
            unix = Date.parse(timestamp);

            if (!isNaN(unix))
                naturaldate = timestamp
            else
                send_response(null, null, res);
            send_response(unix, naturaldate, res);
        }
    })

function send_response(unix, naturaldate, res) {
    console.log(unix, naturaldate)
    res.json({
        "unix": unix,
        "natural": naturaldate
    })
}

app.listen(8083 || process.env.PORT, () => {
    console.log("server is listening")
})

下面的代码片段应该大致满足您的要求。如果需要更改月份的格式,只需编辑monthNames数组即可

var日期=新日期2017年11月1日; var monthNames=[ 一月、二月、三月, 四月、五月、六月、七月, 八月、九月、十月, 11月,12月 ]; var day=date.getDate; var monthIndex=date.getMonth; var year=date.getFullYear; 天=天<10?0+day.toString:day.toString; var结果=月[monthNames]+''日+',''+年;
console.logresult;时间戳使用一天中的什么时间?哪个时区?可能您需要date.toISOString.replace/^…-…-…*$/,“$2$3,$1”?我想将时间戳转换为MM DD,yyyyy而不使用npm.Ex-时间戳1512086400000应显示为其值Dec 012017。目前,我使用的是新日期1512086400000,返回2017年12月1日05:30:00 GMT+0530印度标准时间,join函数将其转换为Dec 012017格式,那么还有其他更好的方法吗?@tshdate.toISOString.replace/^…-…-…*$/,“$2$3,$1”返回的12 012017与Dec 012017不同,您所说的是MMM DD,YYYY而不是MM DD,YYYYYY。请尝试date.toString.replace/\S*\S*\S**/,“$1$2,$3”