查询数据库时经常会遇到隔天的情况。如查询日期为20200512,但是真实数据在后一天20200513,应该如何正确得到后一天的日期呢?
//日期转换成两位数
private string convertToStringWithAtLeastTwoDigits(int number)
{
if (number < 10)
{
return ("0" + number.ToString());
}
else
{
return (number.ToString());
}
}
//后一天
private string GetNextDay(string date)
{
int day = int.Parse(date.Substring(6, 2));
int month = int.Parse(date.Substring(4, 2));
int year = int.Parse(date.Substring(0, 4));
DateTime today = new DateTime(year, month, day);
DateTime nextDay = today.AddDays(1);
return (nextDay.Year.ToString() +
convertToStringWithAtLeastTwoDigits(nextDay.Month) +
convertToStringWithAtLeastTwoDigits(nextDay.Day));
}
//前一天
private string GetPreviousDay(string date)
{
int day = int.Parse(date.Substring(6, 2));
int month = int.Parse(date.Substring(4, 2));
int year = int.Parse(date.Substring(0, 4));
DateTime today = new DateTime(year, month, day);
DateTime previousDay = today.AddDays(-1);
return (previousDay.Year.ToString() +
convertToStringWithAtLeastTwoDigits(previousDay.Month) +
convertToStringWithAtLeastTwoDigits(previousDay.Day));
}