TIme(Date对象)未在nodejs中更新

时间:2015-09-11 05:53:03

标签: javascript node.js

我必须重新启动服务器才能在IST对象中更新时间。  
开发环境 - " Cloud9"。
以下代码提取;

var http = require("http");
var fs = require("fs");
var path = require("path");

var files = {};
var port = process.env.PORT;
var host = process.env.IP;

//Convert time to Indian Standard Time
var IST = new Date(); // Clone UTC Timestamp (once stamped, time not updating here)
IST.setHours(IST.getHours() + 5); // set Hours to 5 hours later
IST.setMinutes(IST.getMinutes() + 30); // set Minutes to be 30 minutes later

var assets = function(req, res){
var serve = function(){
res.writeHead(200, {'Content-Type' : 'text/html'});
res.write("day:" + IST.getDay());
res.write("day:"+ IST.getDay() + " " + IST.getHours() + " " + IST.getMinutes() + "<br>");
res.write("server time: "+ (new Date()).getDay() + " " + (new Date()).getHours() + " " + (new Date()).getMinutes());
res.end();

};
serve();

};

var app = http.createServer(assets).listen(port,host);
console.log("Listening on " + host + ":" + port);

输出(重启服务器之前):

day: 3
day: 3 15 8
server time:  5 3 41
/cse/g1
day: 3
day: 3 15 8
server time:  5 3 48
/cse/g1
day: 3
day: 3 15 8
server time:  5 3 54
/cse/
day: 3
day: 3 15 8
server time:  5 3 55
/cse/g3
day: 3
day: 3 15 8
server time:  5 3 55

当此提取单独运行时,它会运行并且不会显示错误。

上面的输出来自我2天前开始的服务器日志。

今天我重新启动了服务器,现在输出是:

输出(重启服务器后):

day: 5
day: 5 10 54
server time:  5 5 25
/cse/
day: 5
day: 5 10 54
server time:  5 5 25
/cse/
day: 5
day: 5 10 54
server time:  5 5 26
/cse/
day: 5 
day: 5 10 54
server time:  5 5 26
/cse/
day: 5
day: 5 10 54
server time:  5 5 26
/cse/
day: 5
day: 5 10 54
server time:  5 5 26
/cse/
day: 5
day: 5 10 54
server time:  5 5 27
/cse/
day: 5
day: 5 10 54
server time:  5 5 29

可以在https://nodejs-basic-prashantdawar.c9.io/处查看预览。
请在几分钟后刷新,每次都记下输出。你看到如上所示的输出。 如何正确显示更新时间?

为简单起见,修改代码的要点:https://gist.github.com/a36a893a772f3582d0d4.git

0 个答案:

没有答案
相关问题