如何将时间跨度转换为OAdate?

时间:2014-03-09 11:51:19

标签: zedgraph

我使用的是Zedgraph,对于x轴,它们要求我们转换为OADate。我正在绘制实时股票图表,我想显示最后60秒。

所以我使用zedGraphControl1.GraphPane.XAxis.Scale.MaxzedGraphControl1.GraphPane.XAxis.Scale.Min。对于最大值,我将其设置为最新时间,而最小值我计划设置为最新时间减去60秒(变量)。我将在时间跨度中存储60秒。但问题是,时间跨度没有函数toOADate

1 个答案:

答案 0 :(得分:0)

实施自己的方法!

你需要知道的是 1天= 24小时 1小时= 60分钟 1分钟= 60秒 1秒= 1000毫秒

示例:让我说我有时间t = 456722622毫秒

struct TimeDetailed
    {
    public int millisec;
    public int seconds;
    public int minutes;
        public int hours;
        public int days;
    };

static TimeDetailed tConverted;
int t = 456722622;

public void function(int a)
{
int d,h,m,s;
d=h=m=s=0;

while(a >= 86400000) // milliseconds per day
{
a -= 86400000;
d++;
}
while(a >= 3600000) // milliseconds per hour
{
a -= 3600000;
h++;
}
while(a >= 60000) // milliseconds per minute
{
a -= 60000;
m++;
}
while(a >= 1000) // milliseconds per second
{
a -= 1000;
s++;
}

tConverted.days = d;
tConverted.hours = h;
tConverted.minutes = m;
tConverted.seconds = s;
tConverted.millisec = a;

}



  function(t);

输出是:

tConverted.days = 5
tConverted.hours = 6
tConverted.minutes = 52
tConverted.seconds = 2
tConverted.millisec = 622

虽然我没有测试这段代码,但你可以同样制作一个