Javascript 在没有任何npm的情况下,将时间戳转换为MM DD、YYYY,反之亦然
我在下面编写了microservice,将unix时间戳转换为Dec 012017格式,反之亦然,并部署在这里 在没有第三方NPM的情况下,他们是否有更好的方法来实现这一点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
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”