Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set a time zone for Heroku

I have written a Node.js server to run on Heroku (Global). Everything works fine in my localhost, but as Heroku's time zone is UTC my function now runs incorrectly. Can someone please help me set a default time zone?

Here is my code:

router.get('/year/:yyear/:mmonth/:ddate/:hhours/:mminute/:sseconds/:fireTitle/:fireBody', function(req, res) {

      var year1 = req.params.yyear;
      var month1 = (req.params.mmonth)-1;
      var date1 = req.params.ddate;
      var hours1 = req.params.hhours;
      var minute1 = (req.params.mminute);
      var seconds1 = req.params.sseconds;


      var datetime = new Date((new Date)*1 - 1000*3600*5.5 );


      var responseObject= "Your Function has been set for : "+year1+month1+date1+hours1+minute1+seconds1 +" date "+ datetime;

      var cron = require('node-schedule');
      var date = new Date(year1, month1, date1, hours1, minute1, seconds1);

      cron.scheduleJob(date, function(){

        var request = require("request");

      request("This Function will run" , function(error, response, body) {
        console.log(body);
      });
      });

      res.send(responseObject);

});


module.exports = router;
like image 843
Rajiv Reddy Avatar asked Jun 23 '17 07:06

Rajiv Reddy


1 Answers

You can do something like this for your app in heroku

heroku config:add TZ="America/Los_Angeles"

http://blog.pardner.com/2012/08/setting-the-default-time-zone-for-a-heroku-app/

like image 167
Aakash Uniyal Avatar answered Oct 15 '22 08:10

Aakash Uniyal