2017-08-08 2 views
1

私は2つの日付を減算してから1日以内の日数を1か月以内に比較していますが、クラッシュしています。時差と月の日数を比較するとエラーが発生する

if (Convert.ToInt32(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(worksheets[i].Path) + ".xlsx").Date)) < DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)) 

と私は受け取っていますエラーされています:ここでは、コードです

'System.IConvertible'

を入力するタイプ 'のSystem.TimeSpan' のオブジェクトをキャストすることができません

なぜこれが起こっていますか?

+0

TimeSpanは、 'Convert.ToInt32(...)'が想定している 'IConvertible'を実装していません。 – Amy

+0

@Amy番号を比較するには、それを何に変換する必要がありますか? – djblois

+0

番号に変換できません。ちょうど概念的に言えば、タイムパンを数字に変換することはどういう意味ですか? timespanには、 'TotalMilliseconds'や' Days'のような、時間の長さを得るためのプロパティがたくさんあります。これはそれぞれ、timespanで表されるミリ秒または日数を与えます。 – Amy

答えて

0

あなたが何をしようとしているのか分かっていれば、Convert.ToInt32を削除して.Daysを追加しました。これはうまくいくはずです。したがって、試してみてください:

if (DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(worksheets[i].Path) + ".xlsx").Date).Days < DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)) 
    //Do whatever 
関連する問題