我想在Visual Basic中做一些日期數學。 Excel中的NETWORKDAYS
函數正是我所需要的。在.NET中是否有等價或類似的方法?在Excel中是否存在與.NETWORKDAYS等效的.NET方法?
1
A
回答
2
看看這個:
private int CountWorkDays(DateTime startDate, DateTime endDate, List<DateTime> excludedDates)
{
int dayCount = 0;
int inc = 1;
bool endDateIsInPast = startDate > endDate;
DateTime tmpDate = startDate;
DateTime finiDate = endDate;
if(endDateIsInPast)
{
// Swap dates around
tmpDate = endDate;
finiDate = startDate;
// Set increment value to -1, so it DayCount decrements rather
// than increments
inc = -1;
}
while(tmpDate <= finiDate)
{
if(!excludedDates.Contains(tmpDate))
{
dayCount += inc;
}
// Move onto next day
tmpDate = tmpDate.AddDays(1);
}
return dayCount;
}
0
據我所知,並不是很難拿出一個。
假設週六和週日關閉,計算月份中的天數,迭代日期,如果當前日期是星期日或星期六,則減去月份中的天數,或者它與假期數組中的值相匹配。
1
相關問題
- 1. 在.Net中是否存在與HTML等效的XmlReader?
- 2. 在.NET中是否存在與Path.PathSeparator等效的URI?
- 3. Android中是否存在與applicationDidBecomeActive等效的方法?
- 4. 是否存在.net TypeConverter等效於Java
- 5. 是否存在與SQL SELECT查詢等效的VBA方法?
- 6. 是否存在與此C#擴展方法等效的F#?
- 7. 是否存在與Microsoft/.NET System.IO.Packaging等效的Java庫?
- 8. 是否有與CoCreateInstanceEx等效的.NET?
- 9. Xaml中是否存在與jQuery砌體等效的方法/技巧?
- 10. 在make中是否存在與-j等效的checkinstall選項?
- 11. 是否存在與memcpy()在CUDA內核中等效的內容?
- 12. 在Visual Studio中是否存在與malloc_history等效的內容?
- 13. 在JSP中是否存在與java @SuppressWarnings等效的問題
- 14. 在Java中是否存在與memcpy()等效的內容?
- 15. 在ClearCase中是否存在與RTC等效的「掛起模式」?
- 16. C#中是否存在與Java中的File.separator等效的文件
- 17. 在java中是否存在C#Type.GetType()的任何等效語法
- 18. JavaScript中是否存在「OrElse」等效項?
- 19. 在.NET中的FlexGrid控件中是否存在Java中的等效項?
- 20. 是否存在與「this」等效的c#中的靜態變量
- 21. .net中是否有等效的EOPAGE?
- 22. ADO中是否存在與RDO.OpenResultset等效的內容?
- 23. MongoDB中是否存在與SQL_NO_CACHE等效的內容?
- 24. Ant中是否存在與erroronmissingdir等效的丟失文件?
- 25. 在Drools 6.0.1中是否有等效的方法WorkingMemory.assertObject?
- 26. 是否存在與Java Jar或.NET DLL等價的JavaScript?
- 27. 在.NET中是否有ListBox loadfromfile方法等價?
- 28. 在插入.NET之前檢查記錄是否存在的最有效方法
- 29. 是否存在與Android的runOnUiThread等效的C#/ Windows窗體?
- 30. 是否存在與Oracle的RETURNING語句等效的SQL Server?
最後半的方法可以用`return(finiDate.Su btract(tmpDate).Days + 1 - excludedDates.Where(o => o> = tmpDate && o <= finiDate).Count());` - 也就是說,總天數減去範圍中排除的天數。 – 2011-02-02 00:13:17