我想要在两个日期之间经过确切的年,月和日。
let queue = dispatch_get_global_queue(QOS_CLASS_DEFAULT, 0)
dispatch_async(queue) {
// some background task
dispatch_async(dispatch_get_main_queue()) { // note, `dispatch_async` is OK here
// UI task asking for user input:
let alert = NSAlert()
...
alert.beginSheetModalForWindow(NSApp.mainWindow!) { result in
dispatch_async(queue) {
// some background task, treating user input (Yes/No)
}
}
}
}
我希望使用C#找到上述两天之间经过的年数,月数和天数?
我的预期输出
年: 68 月: 10 天数: 23
我推荐了其中一篇帖子,因为他们只解释了几天Calculate difference between two dates (number of days)?
但我需要所有三个 - 年,月和日。请帮助我如何计算...
重复说明: 已经在Calculate Years, Months, weeks and Days中发布了具有相同逻辑的问题,该问题中提供的答案过于冗长而且在我的问题中我只询问年,月和日而不是周。 概念是相同的,但计算天数的逻辑与该问题相比不同,在这里我以非常简单的方式得到了答案。 我对答案感到满意。
完全重复:
原始问题:How to get difference between two dates in Year/Month/Week/Day?( 7年前被问到)
您的标记问题:Calculate Years, Months, weeks and Days( 5年前被问到)
答案 0 :(得分: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();
}