时间:2010-07-26 16:56:17

标签: flex actionscript-3 actionscript charts flex3

2 个答案:

答案 0 :(得分:0)

即使您指定周,DateTimeAxis仍可能使用新创建的日期对象的小时和分钟值。您可以格式化日期以将其设置为零。看一下http://www.munkiihouse.com/?p=69,在DateTimeAxis标记中提及displayLocalTime =“true”。让我们知道它是否有效

答案 1 :(得分:0)

我查看了DateTimeAxis类的代码,我几乎可以肯定你不能做你想做的事。如果“alignLabelsToUnits”属性设置为true(默认值),则通过将Series数据日期舍入到适当的单位来创建标签。在你的情况下(几周)它看起来像这样:

case "weeks":
    d[hoursP] = 0;
    d[minutesP] = 0;
    d[secondsP] = 0;
    d[millisecondsP] = 0;
    if (d[dayP] != 0)
        d[dateP] = d[dateP] + (7 - d[dayP]);
    break;

正如您所看到的,它检查处理日期是否为一周的第一天(硬编码为0),如果不是,则将其更改为此类。 为了实现您所寻求的行为,您可能必须覆盖标签创建的函数,并为日期舍入编写另一个函数,因为默认的舍入函数被声明为私有。