日期:2014-05-17  浏览次数:20823 次

这样的“时间处理”应该怎样做???
传入了两个时间点,比如:
  “datetimestart = 20120101”(起始时间点,2012年1月1日),“datetimestart = 20120301”(结束时间点,2012年3月1日)。  
  现在要取这两个时间点间的所有天数,也就是,“20120101,20120102,20120103,20120104,20120105,20120107,20120107” 一直到 “20120301”。

这样的过程应该怎样写? 请各位大师指点。。。 中间有“1月份 31天”,“二月份 29天”,“三月份 31天”。。。

------解决方案--------------------
用 AddDays(int) 方法做处理 。


然后 Tostring(yyyyMMdd);

我暂时还不知道 系统中有这种 函数。 你 自己写一个 循环 输出处理,或是 你等知道 系统有这个函数的 人 来告诉你。
------解决方案--------------------
DateTime dts=..
DateTime dte=

while(dts<dte)
{
 dts=dts.AddDays(1);
 
}
------解决方案--------------------
探讨
传入了两个时间点,比如:
“datetimestart = 20120101”(起始时间点,2012年1月1日),“datetimestart = 20120301”(结束时间点,2012年3月1日)。
现在要取这两个时间点间的所有天数,也就是,“20120101,20120102,20120103,20120104,20120105,20120107,20120107……

------解决方案--------------------
探讨

DateTime dts=..
DateTime dte=

while(dts<dte)
{
dts=dts.AddDays(1);
string day=dts.ToString("yyyymmdd");
}

------解决方案--------------------
C# code
string start = "20120101";
string end = "20120301";
DateTime dtStart = DateTime.ParseExact(start, "yyyyMMdd", null);
DateTime dtEnd = DateTime.ParseExact(end, "yyyyMMdd", null);
var query = Enumerable.Range(0, new TimeSpan(dtEnd.Ticks - dtStart.Ticks).Days + 1)
    .Select(x => dtStart.AddDays(x))
    .GroupBy(x => string.Format("{0}年{1}月", x.Year, x.Month))
    .Select(x => string.Format("{0}有{1}天。", x.Key, x.Count()));
foreach (var item in query)
{
    Console.WriteLine(item);
}

------解决方案--------------------
..........

datatime。。。。。。。。

.net的datatime函数库已经够多了。。。。。。。