C# 去年怎么查?
我想计算去年未使用的假期,并将其显示在网格列中。我知道我只需要做一个简单的计算,比如: 假期天数-UsedVacationDays==去年剩余的假期天数 但我怎样才能确认我只收到去年的数据呢?我知道必须要有C# 去年怎么查?,c#,C#,我想计算去年未使用的假期,并将其显示在网格列中。我知道我只需要做一个简单的计算,比如: 假期天数-UsedVacationDays==去年剩余的假期天数 但我怎样才能确认我只收到去年的数据呢?我知道必须要有DateTime.Today.AddYears(-1)至少我认为是这样,我的代码如下: public double UnusedVacationDays { get { return (this.VacationDays - this.UsedVacationD
DateTime.Today.AddYears(-1)
至少我认为是这样,我的代码如下:
public double UnusedVacationDays
{
get
{
return (this.VacationDays - this.UsedVacationDays);
}
}
编辑:
public double GetUsedVacation(int year)
{
double hours = 0;
IEnumerable<HtVacationDay> vacationDays = this.HtVacationDays.Where(x => x.FromDate.Year == year && x.FromDate < DateTime.Today);
foreach (HtVacationDay vacation in vacationDays)
{
TimeSpan span = vacation.ToDate - vacation.FromDate;
if (span.TotalHours > 8)
{
hours += span.TotalHours / 3;
}
else
{
hours += span.TotalHours;
}
}
return hours / 8;
public double GetUsedVacation(整数年)
{
双倍小时=0;
IEnumerable vacationDays=this.HtVacationDays.Where(x=>x.FromDate.Year==Year&&x.FromDate8)
{
小时数+=跨度总小时数/3;
}
其他的
{
小时数+=跨度总小时数;
}
}
返程时间/8小时;
感谢您的帮助!^^在计算假期时,请使用您所在年份的日期范围:
public double GetUsedVacation(int year)
{
double hours = 0;
IEnumerable<HtVacationDay> vacationDays =
HtVacationDays.Where(x => x.FromDate.Year == year &&
x.FromDate < DateTime.Today);
DateTime firstDayOfYear = new DateTime(year, 1, 1);
DateTime lastDayOfYear = new DateTime(year, 12, 31);
foreach (HtVacationDay vacation in vacationDays)
{
DateTime from = vacation.FromDate.Date < firstDayOfYear ?
firstDayOfYear : vacation.FromDate;
DateTime to = vacation.ToDate.Date > lastDayOfYear ?
lastDayOfYear : vacation.ToDate;
var vacationHours = (to - from).TotalHours;
if (vacationHours > 8)
hours += vacationHours / 3;
else
hours += vacationHours;
}
return hours / 8;
}
public double GetUsedVacation(整数年)
{
双倍小时=0;
i可数假期天数=
HtVacationDays.Where(x=>x.FromDate.Year==Year&&
x、 FromDatelastDayOfYear?
一年的最后一天:假期;
var vacationHours=(到-从).TotalHours;
如果(假期时间>8小时)
小时数+=假期小时数/3;
其他的
小时数+=假期小时数;
}
返程时间/8小时;
}
另外,我认为计算小时数应该复杂得多。因为对于从15:00开始到第二天13:00结束的假期,您的代码将返回22个总小时数。除以3,得出的假期时间略少于
3
小时数。但实际上,如果我们的工作日是从上午9:00到18:00,则应给出5+4=9
小时数假期的rs。那么,你有两个双重值(例如12.0
和6.5
),你想找出其中哪一部分与去年有关?检查日期的.year
属性?@SergeyBerezovskiy yes!@LasseV.Karlsen我没有.year属性。那么,你如何获得去年的“已用假期”呢?