¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Calendar.GetWeekOfYear (Método)

Devuelve la semana del año que incluye la fecha en el valor DateTime especificado.

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

public virtual int GetWeekOfYear(
	DateTime time,
	CalendarWeekRule rule,
	DayOfWeek firstDayOfWeek
)

Parámetros

time
Tipo: System.DateTime
Valor de fecha y hora.
rule
Tipo: System.Globalization.CalendarWeekRule
Un valor de enumeración que define una semana del calendario.
firstDayOfWeek
Tipo: System.DayOfWeek
Valor de enumeración que representa el primer día de la semana.

Valor devuelto

Tipo: System.Int32
Un entero positivo que representa la semana del año que incluye la fecha de time.

ExcepciónCondición
ArgumentOutOfRangeException

time es anterior a MinSupportedDateTime o posterior a MaxSupportedDateTime.

O bien

firstDayOfWeek no es un valor válido de DayOfWeek.

O bien

rule no es un valor válido de CalendarWeekRule.

Este método se puede utilizar para determinar el número de semanas del año estableciendo time en el último día del año.

El objeto DateTimeFormatInfo para una referencia cultural determinada que utiliza el calendario indicado por la propiedad DateTimeFormatInfo.Calendar incluye los siguientes valores específicos de la referencia cultural que se pueden utilizar para los parámetros firstDayOfWeek y rule:

En el siguiente ejemplo se utiliza el objeto DateTimeFormatInfo de la referencia cultural actual para determinar que el 1 de enero de 2011 está en la primera semana del año en el calendario Gregoriano.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo;
      DateTime date1 = new DateTime(2011, 1, 1);
      Calendar cal = dfi.Calendar;

      Console.WriteLine("{0:d}: Week {1} ({2})", date1, 
                        cal.GetWeekOfYear(date1, dfi.CalendarWeekRule, 
                                          dfi.FirstDayOfWeek),
                        cal.ToString().Substring(cal.ToString().LastIndexOf(".") + 1));       
   }
}
// The example displays the following output:
//       1/1/2011: Week 1 (GregorianCalendar)


Para algunos calendarios, una llamada al método GetWeekOfYear produce ArgumentOutOfRangeException para las combinaciones determinadas de los valores firstDayOfWeek y rule aun cuando time sea mayor que la fecha devuelta por la propiedad MinSupportedDateTime de ese calendario. En la siguiente tabla se muestran los calendarios afectados, los valores rule concretos y el intervalo de valores de time compatibles más tempranos. El valor DateTime mínimo concreto depende del valor del parámetro firstDayOfWeek.

Calendar

Valor CalendarWeekRule

La fecha gregoriana (M/dd/aaaa)

Fechar en calendario (M/dd/aaaa)

ChineseLunisolarCalendar

FirstFullWeek

2/19/1901 a 2/25/1901

1/1/1901 a 1/7/1901

ChineseLunisolarCalendar

FirstFourDayWeek

2/19/1901 a 2/22/1901

1/01/1901 a 1/04/1901

HebrewCalendar

FirstDay

9/17/1583

1/01/5344

HebrewCalendar

FirstFullWeek

9/17/1583 a 9/23/1583

1/01/5344 a 1/07/5344

HebrewCalendar

FirstFourDayWeek

9/17/1583 a 9/20/1583

1/01/5344 a 1/04/5344

HijriCalendar

FirstFullWeek

7/18/0622 a 7/24/0622

1/01/0001 a 1/07/0001

HijriCalendar

FirstFourDayWeek

7/18/0622 a 7/21/0622

1/01/0001 a 1/04/0001

JapaneseLunisolarCalendar

FirstFullWeek

1/28/1960 a 2/03/1960

1/01/35 a 1/07/0035

JapaneseLunisolarCalendar

FirstFourDayWeek

1/28/1960 a 1/31/1960

1/01/0035 a 1/04/0035

JulianCalendar

FirstFullWeek

1/01/0001 a 1/05/0001

1/03/0001 a 1/07/0001

JulianCalendar

FirstFourDayWeek

1/01/0001 a 1/02/0001

1/03/0001 a 1/04/0001

KoreanLunisolarCalendar

FirstFullWeek

2/14/0918 a 2/20/0918

1/01/0918 a 1/07/0918

KoreanLunisolarCalendar

FirstFourDayWeek

2/14/0918 a 2/17/0918

1/01/0918 a 1/04/0918

PersianCalendar

FirstFullWeek

3/21/0622 a 3/27/0622

1/01/0001 a 1/07/0001

PersianCalendar

FirstFourDayWeek

3/21/0622 a 3/24/0622

1/01/0001 a 1/04/0001

TaiwanLunisolarCalendar

FirstFullWeek

2/18/1912 a 2/24/1912

1/01/0001 a 1/07/0001

TaiwanLunisolarCalendar

FirstFourDayWeek

2/18/1912 a 2/21/1912

1/01/0001 a 1/04/0001

UmAlQuraCalendar

FirstFullWeek

4/30/1900 a 5/06/1900

1/01/1318 a 1/07/1318

UmAlQuraCalendar

FirstFourDayWeek

4/30/1900 a 5/03/1900

1/01/1318 a 1/04/1318

En el siguiente ejemplo de código se muestra cómo el resultado de GetWeekOfYear varía en función de la propiedad FirstDayOfWeek y el objeto CalendarWeekRule utilizados. Si la fecha especificada es el último día del año, el método GetWeekOfYear devuelve el número total de semanas de ese año.


using System;
using System.Globalization;


public class SamplesCalendar  {

   public static void Main()  {

      // Gets the Calendar instance associated with a CultureInfo.
      CultureInfo myCI = new CultureInfo("en-US");
      Calendar myCal = myCI.Calendar;

      // Gets the DTFI properties required by GetWeekOfYear.
      CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule;
      DayOfWeek myFirstDOW = myCI.DateTimeFormat.FirstDayOfWeek;

      // Displays the number of the current week relative to the beginning of the year.
      Console.WriteLine( "The CalendarWeekRule used for the en-US culture is {0}.", myCWR );
      Console.WriteLine( "The FirstDayOfWeek used for the en-US culture is {0}.", myFirstDOW );
      Console.WriteLine( "Therefore, the current week is Week {0} of the current year.", myCal.GetWeekOfYear( DateTime.Now, myCWR, myFirstDOW ));

      // Displays the total number of weeks in the current year.
      DateTime LastDay = new System.DateTime( DateTime.Now.Year, 12, 31 );
      Console.WriteLine( "There are {0} weeks in the current year ({1}).", myCal.GetWeekOfYear( LastDay, myCWR, myFirstDOW ), LastDay.Year );

   }

}

/*
This code produces the following output.  Results vary depending on the system date.

The CalendarWeekRule used for the en-US culture is FirstDay.
The FirstDayOfWeek used for the en-US culture is Sunday.
Therefore, the current week is Week 1 of the current year.
There are 53 weeks in the current year (2001).

*/


.NET Framework

Compatible con: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Compatible con:

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

date

Historial

Motivo

Agosto de 2010

Indicado que en algunos casos una excepción se puede producir para fechas posteriores a MinSupportedDateTime.

Corrección de errores de contenido.

Junio de 2010

Se agrega una discusión de las propiedades DateTimeFormatInfo y un ejemplo.

Mejora de la información.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft