ive formatted the whole json object but i cant seem to pass these 3 tests:
-
- A request to
/api/:date?
with a valid date should return a JSON object with aunix
key that is a Unix timestamp of the input date in milliseconds (as type Number)
- A request to
-
Failed:A request to
/api/:date?
with a valid date should return a JSON object with autc
key that is a string of the input date in the format:Thu, 01 Jan 1970 00:00:00 GMT
*3.Failed:A request to /api/1451001600000
should return { unix: 1451001600000, utc: "Fri, 25 Dec 2015 00:00:00 GMT" }
the api works well. this is the link to the project.
https://boilerplate-project-timestamp-4.ahmusa118.repl.co
this is the code
app.get("/api/:date?", function (req, res) {
const dateObject = new Date(req.params.date * 1000)
const unmod=new Date(req.params.date/1)
const weekday= dateObject.toLocaleString("en-US", {weekday: "short"}) // Monday
const month=dateObject.toLocaleString("en-US", {month: "short"}) // December
const day=dateObject.toLocaleString("en-US", {day: "numeric"}) // 9
const year=dateObject.toLocaleString("en-US", {year: "numeric"}) // 2019
const hour=dateObject.toLocaleString("en-UK", {hour: "numeric"}) // 10 AM
const minute=dateObject.toLocaleString("en-US", {minute: "numeric"}) // 30
const second=dateObject.toLocaleString("en-US", {second: "numeric"}) // 15
const tz=dateObject.toLocaleString("en-US", {timeZoneName: "short"})
let filtered=hour.replace(/\D+/,"")
function convert(num){
if(num.length<2){
return "0"+num
}return num
}const x=convert(day)
const h=convert(filtered)
const m=convert(minute)
const s=convert(second)
if(req.params.date==undefined){
res.json({unix : Date.now(), utc : Date().toString()})
}else if(req.params.date.length==13){
res.json({unix : parseInt(req.params.date), utc : `${unmod}` })
}
else if(unmod=="Invalid Date"){
res.json({ error : "Invalid Date" })
}
else {res.json({unix : parseInt(req.params.date), utc : `${weekday}, ${x} ${month} ${year} ${h}:${m}:${s} GMT`})}
});
this is the output
{"unix":1451001600,"utc":"Fri, 25 Dec 2015 00:00:00 GMT"}
solution: boilerplate-project-timestamp (4) - Node.js Repl - Replit
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36
Challenge: Back End Development and APIs Projects - Timestamp Microservice
Link to the challenge: