C#计算两个日期之间的年月日
Calculate Year, Month and Day between two Dates in C#
我想要两个日期之间经过的准确年月日。
DateTime startDate = new DateTime(1974, 8, 15);
DateTime endDate = DateTime.Now.ToLocalTime();
我想使用 C# 计算上述两天之间经过的年数、月数和天数?
My Expected Output
Years: 68 Months: 10 Days: 23
我提到了其中一个 post,因为他们只解释了几天 Calculate difference between two dates (number of days)?
但我需要所有三个 - 年、月和日。请帮助我如何计算...
重复的解释:
在 Calculate Years, Months, weeks and Days 中已经有一个具有相同逻辑的问题 post,该问题中提供的答案太长,在我的问题中我只问了年、月和日,而不是周. 与那个问题相比,概念相同,但计算天数的逻辑不同,这里我以非常简单的方式得到了答案。 我的回答很满意。
完全重复:
原始问题:How to get difference between two dates in Year/Month/Week/Day?(7 年前问过)
您标记的问题:Calculate Years, Months, weeks and Days(5 年前问过)
有趣的问题:
解决方案是
void Main()
{
DateTime zeroTime = new DateTime(1, 1, 1);
DateTime olddate = new DateTime(1947, 8,15);
olddate.Dump();
DateTime curdate = DateTime.Now.ToLocalTime();
curdate.Dump();
TimeSpan span = curdate - olddate;
// because we start at year 1 for the Gregorian
// calendar, we must subtract a year here.
int years = (zeroTime + span).Year - 1;
int months = (zeroTime + span).Month - 1;
int days = (zeroTime + span).Day;
years.Dump();
months.Dump();
days.Dump();
}
我想要两个日期之间经过的准确年月日。
DateTime startDate = new DateTime(1974, 8, 15);
DateTime endDate = DateTime.Now.ToLocalTime();
我想使用 C# 计算上述两天之间经过的年数、月数和天数?
My Expected Output
Years: 68 Months: 10 Days: 23
我提到了其中一个 post,因为他们只解释了几天 Calculate difference between two dates (number of days)?
但我需要所有三个 - 年、月和日。请帮助我如何计算...
重复的解释: 在 Calculate Years, Months, weeks and Days 中已经有一个具有相同逻辑的问题 post,该问题中提供的答案太长,在我的问题中我只问了年、月和日,而不是周. 与那个问题相比,概念相同,但计算天数的逻辑不同,这里我以非常简单的方式得到了答案。 我的回答很满意。
完全重复:
原始问题:How to get difference between two dates in Year/Month/Week/Day?(7 年前问过)
您标记的问题:Calculate Years, Months, weeks and Days(5 年前问过)
有趣的问题:
解决方案是
void Main()
{
DateTime zeroTime = new DateTime(1, 1, 1);
DateTime olddate = new DateTime(1947, 8,15);
olddate.Dump();
DateTime curdate = DateTime.Now.ToLocalTime();
curdate.Dump();
TimeSpan span = curdate - olddate;
// because we start at year 1 for the Gregorian
// calendar, we must subtract a year here.
int years = (zeroTime + span).Year - 1;
int months = (zeroTime + span).Month - 1;
int days = (zeroTime + span).Day;
years.Dump();
months.Dump();
days.Dump();
}