に時間を取得:2 years 3 months
:2011-07-05
と2013-10-05
私は2つの日付の期間を持っている年と月
どのように私はフォーマットの時間を得ることができます。最善のアプローチは何ですか? 拡張メソッドまたはそのための新しいクラスを作成できますか?提案してください?すべてのヘルプは、私がこれまで行ってきた
を理解されるであろう:あなたは、アクション hereで見ることができますpublic static string GetDuration(DateTime date1, DateTime date2) {
int oldMonth = date2.Month;
while (oldMonth == date2.Month) {
date1 = date1.AddDays(-1);
date2 = date2.AddDays(-1);
}
int years = 0, months = 0;
// getting number of years
while (date2.CompareTo(date1) >= 0) {
years++;
date2 = date2.AddYears(-1);
}
date2 = date2.AddYears(1);
years--;
// getting number of months and days
oldMonth = date2.Month;
while (date2.CompareTo(date1) >= 0) {
date2 = date2.AddDays(-1);
if ((date2.CompareTo(date1) >= 0) && (oldMonth != date2.Month)) {
months++;
oldMonth = date2.Month;
}
}
return
"Difference: " +
years.ToString() + " years" +
", " + months.ToString() + " months";
}
'VAR期間は=(日付1 - 日付2)です.ToString( "YYYY MM")' –
おかげではなく、 '上のエラーがあるが、 ToString() ' – AntonioDarr
メソッド 'ToString'のオーバーロードが1つの引数を取る – AntonioDarr