[英]Loop week based on culture info
如何基于文化信息循环整周(星期一 - 星期日),所以在我的情况下,星期一将是一周的第一天? 是否有可能同时找到当天的int
值?
对于一些信息:我需要这样做,以便为商店开出一些营业时间。
我认为你需要的是以下循环。
DayOfWeek firstDay = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
for (int dayIndex = 0; dayIndex < 7; dayIndex++)
{
var currentDay = (DayOfWeek) (((int) firstDay + dayIndex) % 7);
// Output the day
Console.WriteLine(dayIndex + " " + currentDay);
}
模7是重要的,因为每周的第一天可能因不同的文化而异。
这将为您提供特定文化中一周的第一天。
DayOfWeek firstDay = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
这可能随后......
int firstDay = CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek;
DayOfWeek.Sunday =零
DayOfWeek.Saturday = 6
你会像任何其他int一样迭代它。
http://msdn.microsoft.com/en-us/library/system.dayofweek.aspx
for (int i = 1; i <= 7; i++)
Console.WriteLine(new DateTime(2014, 6, i).ToString("DDDD", culture));
2014年7月1日 - 周日
DateTime Dt = new DateTime(2011,5,13,0,0,0);
int WeeklyOffValue = (int)Dt.DayOfWeek
// ----------------------------------------------------------------------
public void WeekDaysSample()
{
Week week = new Week( new DateTime( 2011, 05, 13 ) );
foreach ( Day day in week.GetDays() )
{
Console.WriteLine( "Day: {0}, DayOfWeek: {1}, Int: {2}", day, day.DayOfWeek, (int)day.DayOfWeek );
// > Day: Montag; 09.05.2011 | 0.23:59, DayOfWeek: Monday, Int: 1
// > Day: Dienstag; 10.05.2011 | 0.23:59, DayOfWeek: Tuesday, Int: 2
// > Day: Mittwoch; 11.05.2011 | 0.23:59, DayOfWeek: Wednesday, Int: 3
// > Day: Donnerstag; 12.05.2011 | 0.23:59, DayOfWeek: Thursday, Int: 4
// > Day: Freitag; 13.05.2011 | 0.23:59, DayOfWeek: Friday, Int: 5
// > Day: Samstag; 14.05.2011 | 0.23:59, DayOfWeek: Saturday, Int: 6
// > Day: Sonntag; 15.05.2011 | 0.23:59, DayOfWeek: Sunday, Int: 0
}
} // WeekDaysSample
这甚至在今天,星期五13日有效:)
我相信你想要度过几个星期,就像这样
foreach (DayOfWeek dy in Enum.GetValues(typeof(DayOfWeek)))
{
dy.ToString() // this would be Sunday, monday ......
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.