4

可能重复:
根据文化寻找周末

.NET 中是否有任何可用的语言环境信息来了解给定日期是在工作日还是周末

使用这个功能:

public Boolean IsWeekend(DateTime value, CultureInfo cultureInfo)
{
   return (value.DayOfWeek == DayOfWeek.Saturday || value.DayOfWeek == DayOfWeek.Sunday);
}

但对于某些文化,它返回无效结果。

.NET 是否已经完成了编译所有文化的周末几日的工作?

4

1 回答 1

3

这是一个非常有趣的问题,答案似乎是否定的,.Net 中没有这样的功能。当然你可以使用DateTimeFormatInfoFirstDayOfWeek属性,但是还不够好。

它只会告诉你前一天很有可能是周末。但是,它不是很有帮助(另一个呢,......),因为有些国家只有一天的周末。此外,在穆斯林国家,他们通常将星期五作为周末,但是......他们中的一些人也有星期四,一些星期六,我相信我听说过星期五和星期日休息的国家。在这种情况下,谈论周末将是相当困难的......

我查看了CLDR Charts,但找不到合适的信息。看来你是一个人。
理论上,您可能会想到使用ICUCalendar 类,它有isWeekend()方法,但导入一个 dll 只是为了使用其中的一个类听起来很糟糕。

于 2012-05-12T15:22:41.343 回答