我在C#中有这个代码,每次加载浏览器时都会生成一个结果。
C#
Double ValorGerado = 40.1714444;
Double Co2 = 13.1254644;
TimeSpan final = DateTime.Now.Subtract(Convert.ToDateTime("01/01/" + DateTime.Now.Year.ToString() + " 00:00"));
this.lblGeracao.Text = String.Format("{0:#,##0}", (Convert.ToDecimal(ValorGerado * final.TotalSeconds))) + "*";
this.lblCO2.Text = String.Format("{0:#,##0}", ((Convert.ToInt32(Co2 * final.TotalSeconds) / 1000))) + "**";
结果:
- 我们已经产生75,070,550千瓦时* 2013年清洁能源。
- 这意味着我们不再在大气中排放24,528 ** g的二氧化碳。
我如何使用javaScript实时获得该结果?怎么可能呢?
我开始做这样的事情:
JS
var ValorGerado = 40.1714444;
var Co2 = 13.1254644;
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var curr_seconds = d.getSeconds();
setInterval(function() {
$('.Timer').text((new Date) * ValorGerado);
}, 1);
和HTML
HTML
<div class="Timer" style="width:100%;"></div>
任何帮助将不胜感激,谢谢。
以下是一个非常相似的例子:http://opower.com/
答案 0 :(得分:0)
试试这个:
var yearStart = new Date((new Date()).getFullYear(),0,1),
ValorGerado = 40.1714444,
Co2 = 13.1254644;
Number.prototype.toNormalString = String.prototype.toNormalString || function(){
return this.toString().split('.')[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}
setInterval(function(){
var secondsElapsed = (new Date()).getTime() - yearStart.getTime();
$('.geracaoValue').text(secondsElapsed * ValorGerado);
$('.co2Value').text(((secondsElapsed * Co2) / 1000).toNormalString());
}, 30);
它可能会做得更干净,但我试图模仿C#方法。如果要格式化没有小数的字符串并添加逗号,请使用Number.toNormalString。该示例每个方向都有一个值。
这是小提琴:http://jsfiddle.net/MQZUB/3/
更新:我意识到扩展Number对象而不是String对象更加清晰。