繁体   English   中英

循环周基于文化信息

[英]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

.NET时间段库包括支持文化的类Week

// ----------------------------------------------------------------------
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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM