我正试着从今天开始打印一组日期。例:如果今天是06-1-14,CutOff值是10,代码应该给我10天的时间,直到12月28日-13日.
以下是我尝试过的:
for (int i = 0; i < 10; i++)
{
string month = DateTime.Now.ToString("MMMMMMMM");
int day = (int)DateTime.Now.AddDays(-i).Day;
Console.WriteLine(day + " " + month);
}这给出了正确的一天,但每次打印一月。
任何线索都是非常感激的。
谢谢。
发布于 2014-01-06 15:01:08
for (int i = 0; i < 10; i++)
{
DateTime date = DateTime.Now.AddDays(-i);
Console.WriteLine(String.Format("{0:d MMMM}",date));
}发布于 2014-01-06 14:57:18
当然有..。你只是在计算月中的一天,而不是重新计算整个日期。
如果你说
DateTime olderDate = DateTime.Today.AddDays(-i);然后,您的olderDate将包含正确的日期,您正在寻找。
发布于 2014-01-06 14:59:49
问题是,您只更新了一天,而不是日期(因此错过了这个月)。
像这样的东西怎么样?
foreach (DateTime date in Enumerable.Range(0, 10)
.Select(r => DateTime.Now.Date.AddDays(-r)))
{
Console.WriteLine(date.Day + " " + date.Month);
}https://stackoverflow.com/questions/20952653
复制相似问题