Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Enumeración CalendarWeekRule

 

Publicado: noviembre de 2016

Define reglas diferentes para determinar la primera semana del año.

Espacio de nombres:   System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum CalendarWeekRule

Nombre de miembroDescripción
FirstDay

Indica que la primera semana del año comienza en el primer día del año y termina antes de que el siguiente designado primer día de la semana. El valor es 0.

FirstFourDayWeek

Indica que la primera semana del año es la primera semana con cuatro o más días antes del primer día de la semana designado. El valor es 2.

FirstFullWeek

Indica que la primera semana del año comienza en la primera aparición de designado primer día de la semana en o después del primer día del año. El valor es 1.

Miembro de la CalendarWeekRule enumeración devuelto por la DateTimeFormatInfo.CalendarWeekRule propiedad y el calendario de la referencia cultural actual se utiliza para determinar la regla de semana del calendario. El valor de enumeración también se utiliza como un parámetro a la Calendar.GetWeekOfYear (método).

Reglas de semana del calendario dependen del System.DayOfWeek valor que indica el primer día de la semana además en función de un CalendarWeekRule valor. El DateTimeFormatInfo.FirstDayOfWeek propiedad proporciona el valor predeterminado para una referencia cultural, pero cualquier DayOfWeek valor se puede especificar como el primer día de la semana en el Calendar.GetWeekOfYear (método).

La primera semana basada en la FirstDay puede tener el valor de uno a siete días. La primera semana basada en la FirstFullWeek valor siempre tiene siete días. La primera semana basada en la FirstFourDayWeek puede tener el valor de cuatro a siete días.

Por ejemplo, en el calendario gregoriano, suponga que el primer día del año (1 de enero) cae en martes y el primer día de la semana designado es el domingo. Seleccionar FirstFullWeek define el primer domingo (el 6 de enero) como el inicio de la primera semana del año. Los cinco primeros días del año se consideran parte de la última semana del año anterior. En cambio, seleccionando FirstFourDayWeek define el primer día del año (1 de enero) como el inicio de la primera semana del año porque hay más de cuatro días desde el 1 de enero hasta el día antes de la siguiente el domingo.

Fecha

FirstDay

FirstFullWeek

FirstFourDayWeek

31 de diciembre del LUN

Última semana del año anterior

Última semana del año anterior

Última semana del año anterior

1 de enero, el martes

Semana 1

Última semana del año anterior

Semana 1

Miércoles 2 de enero

Semana 1

Última semana del año anterior

Semana 1

Jueves 3 de enero

Semana 1

Última semana del año anterior

Semana 1

4 de enero, el viernes

Semana 1

Última semana del año anterior

Semana 1

5 de enero Sat

Semana 1

Última semana del año anterior

Semana 1

6 de enero, Sun

Semana 2

Semana 1

Semana 2

7 de enero, el lunes

Semana 2

Semana 1

Semana 2

8 de enero, el martes

Semana 2

Semana 1

Semana 2

Miércoles 9 de enero

Semana 2

Semana 1

Semana 2

Jueves 10 de enero

Semana 2

Semana 1

Semana 2

11 de enero, el viernes

Semana 2

Semana 1

Semana 2

Sat 12 de enero

Semana 2

Semana 1

Semana 2

Suponga que el primer día del año (1 de enero) cae en viernes y el primer día de la semana designado es el domingo. Seleccionar FirstFourDayWeek define el primer domingo (el 3 de enero) como el inicio de la primera semana del año porque hay menos de cuatro días desde el 1 de enero hasta el día antes de la siguiente el domingo.

Fecha

FirstDay

FirstFullWeek

FirstFourDayWeek

Jueves 31 de diciembre

Última semana del año anterior

Última semana del año anterior

Última semana del año anterior

1 de enero, el viernes

Semana 1

Última semana del año anterior

Última semana del año anterior

2 de enero Sat

Semana 1

Última semana del año anterior

Última semana del año anterior

3 de enero, Sun

Semana 2

Semana 1

Semana 1

4 de enero, el lunes

Semana 2

Semana 1

Semana 1

5 de enero, el martes

Semana 2

Semana 1

Semana 1

6 de enero, miércoles

Semana 2

Semana 1

Semana 1

Jueves 7 de enero

Semana 2

Semana 1

Semana 1

8 de enero, el viernes

Semana 2

Semana 1

Semana 1

9 de enero Sat

Semana 2

Semana 1

Semana 1

En el ejemplo siguiente se muestra cómo el CalendarWeekRule y System.DayOfWeek valores se usan conjuntamente para determinar cómo se asignan semanas. En el calendario gregoriano, el primer día del año (1 de enero) en 2013 cae en martes. Si el primer día de la semana designado es el domingo, el primer domingo (el 6 de enero) es el primer día de la primera semana del año y el sábado (5 de enero) pertenece a la semana de cincuenta tercio del año anterior. Si cambia la regla de semana del calendario para CalendarWeekRule.FirstFourDayWeek define el martes (1 de enero) como el inicio de la primera semana del año, porque hay más de cuatro días entre el martes, 1 de enero y el domingo, 6 de enero. Con esta regla, 5 de enero al que pertenece la primera semana del año. En 2010, un año en que el 1 de enero se cae en viernes, aplicar el CalendarWeekRule.FirstFourDayWeek regla con DayOfWeek.Sunday como el primer día de la semana hace el domingo, 3 de enero, el principio de la primera semana del año, porque la primera semana 2010 que tenga más de cuatro días es el 3 de enero a 9.

using System;
using System.Globalization;

public class Example
{
   static Calendar cal = new GregorianCalendar();

   public static void Main()
   {
      DateTime date = new DateTime(2013, 1, 5);
      DayOfWeek firstDay = DayOfWeek.Sunday;
      CalendarWeekRule rule;

      rule = CalendarWeekRule.FirstFullWeek;
      ShowWeekNumber(date, rule, firstDay);

      rule = CalendarWeekRule.FirstFourDayWeek;
      ShowWeekNumber(date, rule, firstDay);

      Console.WriteLine();
      date = new DateTime(2010, 1, 3);
      ShowWeekNumber(date, rule, firstDay);
   }

   private static void ShowWeekNumber(DateTime dat, CalendarWeekRule rule, 
                                      DayOfWeek firstDay)
   {                                   
      Console.WriteLine("{0:d} with {1:F} rule and {2:F} as first day of week: week {3}",
                        dat, rule, firstDay, cal.GetWeekOfYear(dat, rule, firstDay));
   }   
}
// The example displays the following output:
//       1/5/2013 with FirstFullWeek rule and Sunday as first day of week: week 53
//       1/5/2013 with FirstFourDayWeek rule and Sunday as first day of week: week 1
//       
//       1/3/2010 with FirstFourDayWeek rule and Sunday as first day of week: week 1
System_CAPS_noteNota

No se asigna exactamente a ISO 8601. Se describen las diferencias en la entrada de blog ISO 8601 Week of Year format in Microsoft .Net.

Cada CultureInfo objeto admite un conjunto de calendarios. El Calendar propiedad devuelve el calendario predeterminado para la referencia cultural y el OptionalCalendars propiedad devuelve una matriz que contiene todos los calendarios admitidos por la referencia cultural. Para cambiar el calendario utilizado por un CultureInfo, la aplicación debe establecer el Calendar propiedad de CultureInfo.DateTimeFormat a un nuevo Calendar.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: