我想从当前日期获取3个日期,或者如果用户输入16/07/2011
之类的日期,我想显示之前的3个日期
15/07/2011,14/07/2011,13/07/2011
答案 0 :(得分:8)
简单步骤:
DateTime
。如果您知道要使用的格式,我建议您使用DateTime.ParseExact
或DateTime.TryParseExact
。DateTime.AddDays(-1)
获取上一个日期(使用与原始日期不同的值,或者始终为-1,但每次都来自“新”)例如:
string text = "16/07/2011";
Culture culture = ...; // The appropriate culture to use. Depends on situation.
DateTime parsed;
if (DateTime.TryParseExact(text, "dd/MM/yyyy", culture, DateTimeStyles.None,
out parsed))
{
for (int i = 1; i <= 3; i++)
{
Console.WriteLine(parsed.AddDays(-i).ToString("dd/MM/yyyy"));
}
}
else
{
// Handle bad input
}
答案 1 :(得分:0)
只需使用TimeSpan
对象或AddDays
功能即可。以下是可以轻松修改日期的示例扩展方法:
public static DateTime SubtractDays(this DateTime time, int days)
{
return time - new TimeSpan(days, 0, 0, 0);
}
public static DateTime SubtractDays(this DateTime time, int days)
{
return time.AddDays(days)
}