Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将时差与月份天数进行比较时出错_C#_Timespan - Fatal编程技术网

C# 将时差与月份天数进行比较时出错

C# 将时差与月份天数进行比较时出错,c#,timespan,C#,Timespan,我在减去两个日期,然后将日差与一个月内的天数进行比较,但结果是崩溃了。代码如下: if (Convert.ToInt32(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(worksheets[i].Path) + ".xlsx").Date)) < DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)) if(Convert.ToInt32(DateTime

我在减去两个日期,然后将日差与一个月内的天数进行比较,但结果是崩溃了。代码如下:

if (Convert.ToInt32(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(worksheets[i].Path) + ".xlsx").Date)) < DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month))
if(Convert.ToInt32(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(工作表[i].Path)+“.xlsx”).Date))
我收到的错误是:

无法将“System.TimeSpan”类型的对象强制转换为 “System.IConvertible”


为什么会发生这种情况?

因此,如果我理解您的意图,我会删除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
if(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(工作表[i].Path)+“.xlsx”).Date)。Days
因此,如果我理解您的意图,我会删除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
if(DateTime.Now.Subtract(File.GetLastWriteTime(TestWorkbook(工作表[i].Path)+“.xlsx”).Date)。Days
TimeSpan没有实现
IConvertible
,这是
Convert.ToInt32(…)
所期望的。@Amy那么我需要将它转换成什么来比较数字呢?它不能转换成数字。从概念上讲,将时间跨度转换为数字意味着什么?timespan有许多属性可用于获取超时长度,例如
TotalMillicles
Days
,它们分别提供timespan表示的毫秒数或天数。timespan不实现
IConvertible
,这就是
转换.ToInt32(…)
expected.@Amy那么我需要将它转换成什么来比较数字呢?它不能转换成数字。从概念上讲,将时间跨度转换为数字意味着什么?timespan具有许多用于获取超时长度的属性,例如
totalmillizes
Days
,它们分别提供timespan表示的毫秒数或天数。