IEnumerable<double> 转换为 IEnumerable<DateTime>

IEnumerable<double> convert to IEnumerable<DateTime>

美好的一天! 我有以下块时:

var userDateReg = DB.Users.Select(u => u.DateLastVisit - u.DateRegistration).ToArray()
                          .Select(i => i.TotalDays);
return userDateReg;

我想 return IEnumerable<DateTime> 而不是 IEnumerable<double>

日期相减不是日期,它是您得到的天数的时间跨度。删除 .Select(i => i.TotalDays) 你会得到 TimeSpan:

var userDateReg = DB.Users.Select(u => u.DateLastVisit - u.DateRegistration).ToArray();
                          

请注意,userDateReg 是一个 TimeSpan(持续时间)数组,您可以访问它的天数、小时数、....

如果你想得到一个看起来像持续时间的字符串:

var userDateReg = DB.Users.Select(u => (u.DateLastVisit - u.DateRegistration).ToString(@"d\.hh\:mm\:ss")).ToArray();

现在 userDateReg 将是一个字符串数组,如下所示:3.11:49:25