首页 新闻 会员 周边

求两个日期 相隔 天数 并将 其转换成 ‘6-22’ 或2012年第23周 类似的

0
悬赏园豆:20 [已解决问题] 解决于 2012-09-05 13:02

统计 两个日期之间  的差,并将 差 按 日(周 或者月份)放到 一个 集合里面

从而  绑定 chart 的 x轴

求转换逻辑处理!一时 想不起来 了!思路也行!

问题补充:

我已经求出  日期差了,现在要做的是 转换成上图 的 x轴 的形式 !

 

例如:9月 1日 -9月 5日  共有 4天

 

分别是 9-1,9-2,9-3,9-4

 

我现在已经 求出相差 4天,但是要  将这4天转换成  9-1,9-2,9-3,9-4

放到一个 集合里面怎么弄 啊!求思路

布洛克菲勒的主页 布洛克菲勒 | 菜鸟二级 | 园豆:218
提问于:2012-09-05 09:22
< >
分享
最佳答案
1

用 DateTime 类型减。

 

我用Excel演示下,X轴使用 List<DateTime> 集合,然后把显示格式设置为 日期:m月d日,如图所示:

收获园豆:20
Launcher | 高人七级 |园豆:45045 | 2012-09-05 09:32

我已经求出  日期差了,现在要做的是 转换成上图 的 x轴 的形式 !

布洛克菲勒 | 园豆:218 (菜鸟二级) | 2012-09-05 09:41

@IT_ZZY: 你的X轴的数列表示什么意思?

Launcher | 园豆:45045 (高人七级) | 2012-09-05 09:47

@Launcher:  例如统计 9-1 到 9月 5号,

算出 -》9-1,9-2,9-3,9-4

然后添加到集合里面

布洛克菲勒 | 园豆:218 (菜鸟二级) | 2012-09-05 10:25

@IT_ZZY: 你可以看一下x轴能否设置显示格式,如果可以,你直接添加datetime类型,然后把显示格式指定为 M-d .

Launcher | 园豆:45045 (高人七级) | 2012-09-05 10:56

@Launcher: 微软的 chart

Chart1.Series[seriesId].Points.AddXY(ts1.Days, rand.Next(30));

DateTime dtStart = Util.GetDateTime(txtStartDate.Text);//初始化一个日期
        DateTime dtEnd = Util.GetDateTime(txtEndDate.Text);//获取今天日期
        TimeSpan ts1 = dtEnd.Subtract(dtStart);//TimeSpan得到dt1和dt2的时间间隔
        int countday = ts1.Days;//获取两个日期间隔的天数
for (int x = 0; x < 10; x++)
            {
                Chart1.Series[seriesId].Points.AddXY(“9-2”, rand.Next(30));
            }

后面的参数,我暂时用 随机数代替了,

但是那个 x轴的参数 好像只能 循环添加

布洛克菲勒 | 园豆:218 (菜鸟二级) | 2012-09-05 11:26

@IT_ZZY: 我用Excel演示下,X轴使用 List<DateTime> 集合,然后把显示格式设置为 日期:m月d日,如上面图片所示。你可以看下MS Chart的X轴是否支持设置显示格式。如果不行,你就需要先把你的日期序列转换为 M-d 格式的集合,然后绑定。

Launcher | 园豆:45045 (高人七级) | 2012-09-05 11:49

关键是 你的 excel 的日期 怎样往里面添加呢?

只知道开始日期 和结束日期 ,往 excel里面 逐条添加 日期呢?

布洛克菲勒 | 园豆:218 (菜鸟二级) | 2012-09-05 11:51

@IT_ZZY: List<DateTime> list =new List<DateTime>;

while(startDate <= endDate)

{

    list.Add(startDate);

    startDate.AddDays(1);
}

Launcher | 园豆:45045 (高人七级) | 2012-09-05 11:54

@Launcher:

 while (dtStart <= dtEnd)
            {
                dtStart = dtStart.AddDays(1);
                list.Add(dtStart);
            }

 

谢了!!

布洛克菲勒 | 园豆:218 (菜鸟二级) | 2012-09-05 13:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册