传入了两个时间点,比如:
“datetimestart = 20120101”(起始时间点,2012年1月1日),“datetimestart = 20120301”(结束时间点,2012年3月1日)。
现在要取这两个时间点间的所有天数,也就是,“20120101,20120102,20120103,20120104,20120105,20120107,20120107” 一直到 “20120301”。这样的过程应该怎样写? 请各位大师指点 中间有“1月份 31天”,“二月份 29天”,“三月份 31天”
“datetimestart = 20120101”(起始时间点,2012年1月1日),“datetimestart = 20120301”(结束时间点,2012年3月1日)。
现在要取这两个时间点间的所有天数,也就是,“20120101,20120102,20120103,20120104,20120105,20120107,20120107” 一直到 “20120301”。这样的过程应该怎样写? 请各位大师指点 中间有“1月份 31天”,“二月份 29天”,“三月份 31天”
然后 Tostring(yyyyMMdd);我暂时还不知道 系统中有这种 函数。 你 自己写一个 循环 输出处理,或是 你等知道 系统有这个函数的 人 来告诉你。
DateTime dte=while(dts<dte)
{
dts=dts.AddDays(1);
}
参考http://topic.csdn.net/u/20121024/16/e130fb5f-72fe-48a8-9c19-f1382ba01b10.html
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);
}2012年1月有31天。
2012年2月有29天。
2012年3月有1天。