GregorianCalendar Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
GregorianCalendar es una subclase concreta de Calendar y proporciona el sistema de calendario estándar utilizado por la mayoría del mundo.
[Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)]
public class GregorianCalendar : Java.Util.Calendar
[<Android.Runtime.Register("java/util/GregorianCalendar", DoNotGenerateAcw=true)>]
type GregorianCalendar = class
inherit Calendar
- Herencia
- Atributos
Comentarios
GregorianCalendar es una subclase concreta de Calendar y proporciona el sistema de calendario estándar utilizado por la mayoría del mundo.
GregorianCalendar es un calendario híbrido que admite los sistemas de calendario juliano y gregoriano con la compatibilidad de una sola discontinuidad, que corresponde de forma predeterminada a la fecha gregoriana en la que se instituyó el calendario gregoriano (15 de octubre de 1582 en algunos países, más adelante en otros). El autor de la llamada puede cambiar la fecha de migración mediante una llamada a #setGregorianChange(Date) setGregorianChange().
Históricamente, en los países que adoptaron el calendario gregoriano primero, el 4 de octubre de 1582 (Julian) fue seguido por el 15 de octubre de 1582 (gregoriano). Este calendario lo modela correctamente. Antes de la transición gregoriana, GregorianCalendar implementa el calendario juliano. La única diferencia entre el gregoriano y el calendario juliano es la regla del año bisiesto. El calendario juliano especifica años bisiestos cada cuatro años, mientras que el calendario gregoriano omite los años del siglo que no son divisibles en 400.
GregorianCalendar
<implementa em>proleptic</em> Gregoriano y calendarios julianos. Es decir, las fechas se calculan al extrapolar las reglas actuales indefinidamente hacia atrás y hacia adelante en el tiempo. Como resultado, GregorianCalendar se puede usar durante todos los años para generar resultados significativos y coherentes. Sin embargo, las fechas obtenidas utilizando GregorianCalendar son históricamente precisas desde el 1 de marzo de 4 AD en adelante, cuando se adoptaron las reglas modernas del calendario juliano. Antes de esta fecha, las reglas de año bisiesto se aplicaron irregularmente, y antes de 45 BC el calendario juliano ni siquiera existía.
Antes de la institución del calendario gregoriano, el Día del Año Nuevo fue el 25 de marzo. Para evitar confusiones, este calendario siempre usa el 1 de enero. Se puede realizar un ajuste manual si se desea para las fechas anteriores a la transición gregoriana y que se encuentran entre el 1 de enero y el 24 de marzo.
<h2>"week_and_year">Week Of Year and Week Year</h2>
Valores calculados para el Calendar#WEEK_OF_YEAR WEEK_OF_YEAR intervalo de campo de 1 a 53. La primera semana de un año natural es el primer período de siete días que comienza Calendar#getFirstDayOfWeek() getFirstDayOfWeek() en que contiene al menos Calendar#getMinimalDaysInFirstWeek() getMinimalDaysInFirstWeek() días de ese año. Por lo tanto, depende de los valores de getMinimalDaysInFirstWeek(), getFirstDayOfWeek()y del día de la semana del 1 de enero. Las semanas entre la semana 1 de un año y la semana 1 del año siguiente (exclusivo) se numeran secuencialmente de 2 a 52 o 53 (excepto los años implicados en la transición de Julian-Gregorian).
Los getFirstDayOfWeek() valores y getMinimalDaysInFirstWeek() se inicializan mediante recursos dependientes de la configuración regional al construir un GregorianCalendar. "iso8601_compatible_setting">La determinación de semana es compatible con el estándar ISO 8601 cuando getFirstDayOfWeek() es MONDAY y getMinimalDaysInFirstWeek() es 4, que valores se usan en configuraciones regionales en las que se prefiere el estándar. Estos valores se pueden establecer explícitamente llamando a Calendar#setFirstDayOfWeek(int) setFirstDayOfWeek() y Calendar#setMinimalDaysInFirstWeek(int) setMinimalDaysInFirstWeek().
Un "week_year"><em week year>/em< está sincronizado con un >WEEK_OF_YEARciclo. Todas las semanas entre las primeras y las últimas semanas (inclusive) tienen el mismo <>valor em semana</em>. Por lo tanto, los primeros y últimos días de una semana pueden tener diferentes valores de año natural.
Por ejemplo, el 1 de enero de 1998 es un jueves. Si getFirstDayOfWeek() es y MONDAY es getMinimalDaysInFirstWeek() 4 (configuración compatible con la norma ISO 8601), la semana 1 de 1998 comienza el 29 de diciembre de 1997 y finaliza el 4 de enero de 1998. El año de la semana es 1998 para los últimos tres días del año natural 1997. Sin embargo, getFirstDayOfWeek() si es SUNDAY, la semana 1 de 1998 comienza el 4 de enero de 1998 y finaliza el 10 de enero de 1998; los tres primeros días de 1998 forman parte de la semana 53 de 1997 y su año de semana es 1997.
<h3>Semana del mes</h3>
Valores calculados para el WEEK_OF_MONTH intervalo de campo de 0 a 6. La semana 1 de un mes (los días con WEEK_OF_MONTH = 1) es el conjunto más antiguo de al menos getMinimalDaysInFirstWeek() días contiguos en ese mes, finalizando el día anterior getFirstDayOfWeek()a . A diferencia de la semana 1 de un año, la semana 1 de un mes puede ser inferior a 7 días, no necesita iniciarse en getFirstDayOfWeek()y no incluirá días del mes anterior. Los días de un mes antes de la semana 1 tienen un WEEK_OF_MONTH de 0.
Por ejemplo, si getFirstDayOfWeek() es y SUNDAY es getMinimalDaysInFirstWeek() 4, la primera semana de enero de 1998 es domingo, 4 de enero a sábado, 10 de enero. Estos días tienen un WEEK_OF_MONTH de 1. El jueves, del 1 al sábado, el 3 de enero tiene un WEEK_OF_MONTH de 0. Si getMinimalDaysInFirstWeek() se cambia a 3, el 1 de enero al 3 tiene un WEEK_OF_MONTH valor de 1.
<h3>Valores de campos predeterminados</h3>
El clear método establece campos de calendario no definidos.
GregorianCalendar usa el siguiente valor predeterminado para cada campo de calendario si su valor no está definido.
<table class="striped" style="text-align: left; width: 66%;"><caption style="display:none">GregorianCalendar default field values</caption><thead><tr><th scope="col"> Field </th><scope="col"> Default Value </th></tr></thead><tbody><tr><th scope="row">ERA</th><td/td>AD<></tr><><th scope="row">YEAR</th><td>1970</td></tr tr><><th scope="row">MONTH</th><td/td>JANUARY<></tr tr><><th scope="row">DAY_OF_MONTH</th><td>1</td></tr tr><><th scope="row">DAY_OF_WEEK</th><td/td>the first day of week<></tr tr><><th scope="row">WEEK_OF_MONTH</th><td/td>0<></tr><tr><th scope="row">DAY_OF_WEEK_IN_MONTH</th><td>1</td></tr tr><><th scope="row">AM_PM</th><td/td>AM<></tr tr><><th scope="row">HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND</th><td/td>0<></tr></tbody></table br><>Los valores predeterminados no son aplicables a los campos que no se enumeran anteriormente.
<strong>Example:</strong><blockquote>
// get the supported ids for GMT-08:00 (Pacific Standard Time)
String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
// if no ids were returned, something is wrong. get out.
if (ids.length == 0)
System.exit(0);
// begin output
System.out.println("Current Time");
// create a Pacific Standard Time time zone
SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);
// set up rules for Daylight Saving Time
pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
// create a GregorianCalendar with the Pacific Daylight time zone
// and the current date and time
Calendar calendar = new GregorianCalendar(pdt);
Date trialTime = new Date();
calendar.setTime(trialTime);
// print out a bunch of interesting things
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));
System.out.println("Current Time, with hour reset to 3");
calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
calendar.set(Calendar.HOUR, 3);
System.out.println("ERA: " + calendar.get(Calendar.ERA));
System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
System.out.println("DATE: " + calendar.get(Calendar.DATE));
System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
System.out.println("DAY_OF_WEEK_IN_MONTH: "
+ calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
System.out.println("ZONE_OFFSET: "
+ (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
System.out.println("DST_OFFSET: "
+ (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours
</blockquote>
Agregado en la versión 1.1.
Java documentación para java.util.GregorianCalendar.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| GregorianCalendar() |
Construye un valor predeterminado |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32, Int32) |
Construye un gregorianoCalendar con la fecha y hora especificadas para la zona horaria predeterminada con la configuración regional predeterminada. |
| GregorianCalendar(Int32, Int32, Int32, Int32, Int32) |
Construye con |
| GregorianCalendar(Int32, Int32, Int32) |
Construye un |
| GregorianCalendar(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
| GregorianCalendar(Locale) |
Construye un |
| GregorianCalendar(TimeZone, Locale) |
Construye un |
| GregorianCalendar(TimeZone) |
Construye un |
Campos
| Nombre | Description |
|---|---|
| Ad |
Valor del |
| AllStyles |
Obsoletos.
Especificador de estilo para |
| Am |
Valor del |
| AmPm |
Obsoletos.
Número de campo para |
| April |
Valor del |
| August |
Valor del |
| Bc |
Valor del |
| Date |
Obsoletos.
Número de campo para |
| DayOfMonth |
Obsoletos.
Número de campo para |
| DayOfWeek |
Obsoletos.
Número de campo para |
| DayOfWeekInMonth |
Obsoletos.
Número de campo para |
| DayOfYear |
Obsoletos.
Número de campo para |
| December |
Valor del |
| DstOffset |
Obsoletos.
Número de campo para |
| Era |
Obsoletos.
Número de campo para |
| February |
Valor del |
| FieldCount |
Número de campos distintos reconocidos por |
| Friday |
Valor del |
| Hour |
Obsoletos.
Número de campo para |
| HourOfDay |
Obsoletos.
Número de campo para |
| January |
Valor del |
| July |
Valor del |
| June |
Valor del |
| Long |
Obsoletos.
Especificador de estilo para |
| LongFormat |
Especificador de estilo para |
| LongStandalone |
Especificador de estilo para |
| March |
Valor del |
| May |
Valor del |
| Millisecond |
Obsoletos.
Número de campo para |
| Minute |
Obsoletos.
Número de campo para |
| Monday |
Valor del |
| Month |
Obsoletos.
Número de campo para |
| NarrowFormat |
Especificador de estilo para |
| NarrowStandalone |
Especificador de estilo para |
| November |
Valor del |
| October |
Valor del |
| Pm |
Valor del |
| Saturday |
Valor del |
| Second |
Obsoletos.
Número de campo para |
| September |
Valor del |
| Short |
Obsoletos.
Especificador de estilo para |
| ShortFormat |
Especificador de estilo para |
| ShortStandalone |
Especificador de estilo para |
| Sunday |
Valor del |
| Thursday |
Valor del |
| Tuesday |
Valor del |
| Undecimber |
Valor del |
| Wednesday |
Valor del |
| WeekOfMonth |
Obsoletos.
Número de campo para |
| WeekOfYear |
Obsoletos.
Número de campo para |
| Year |
Obsoletos.
Número de campo para |
| ZoneOffset |
Obsoletos.
Número de campo para |
Propiedades
| Nombre | Description |
|---|---|
| AreFieldsSet |
True si |
| CalendarType |
Devuelve el tipo de calendario de este |
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Fields |
Valores de campo de calendario para la hora establecida actualmente para este calendario. (Heredado de Calendar) |
| FirstDayOfWeek |
Obtiene lo que es el primer día de la semana; e. (Heredado de Calendar) |
| GregorianChange |
Obtiene la fecha de cambio del calendario gregoriano. -o bien- Establece la fecha de |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsTimeSet |
True si el valor de |
| IsWeekDateSupported |
Devuelve |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
|
| JniPeerMembers |
|
| Lenient |
Indica si la interpretación de fecha y hora es flexible. (Heredado de Calendar) |
| MinimalDaysInFirstWeek |
Obtiene cuáles son los días mínimos necesarios en la primera semana del año; e. (Heredado de Calendar) |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| Time |
Devuelve un |
| TimeInMillis |
Devuelve el valor de hora de este calendario en milisegundos. (Heredado de Calendar) |
| TimeZone |
Obtiene la zona horaria. -o bien- Establece la zona horaria con el valor de zona horaria especificado. (Heredado de Calendar) |
| WeeksInWeekYear |
Devuelve el número de semanas del año de semana representado por este |
| WeekYear |
Devuelve el año de la semana representado por este |
Métodos
| Nombre | Description |
|---|---|
| Add(CalendarField, Int32) |
Agrega la cantidad de tiempo especificada (firmada) al campo de calendario especificado, en función de las reglas del calendario. |
| After(Object) |
Devuelve si esto |
| Before(Object) |
Devuelve si esto |
| Clear() |
Establece todos los valores del campo de calendario y el valor de hora (desplazamiento de milisegundos de la "#Epoch">Época) de este |
| Clear(CalendarField) |
Establece el valor del campo de calendario especificado y el valor de hora (desplazamiento de milisegundos de la "#Epoch">Época) de este |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Calendar) |
| CompareTo(Calendar) |
Compara los valores de tiempo (desplazamientos milisegundos de la "#Epoch">Época) representados por dos |
| Complete() |
Rellena los campos sin establecer en los campos de calendario. (Heredado de Calendar) |
| ComputeFields() |
Convierte el valor de hora (desplazamiento de milisegundos de la época) en valores de campo de calendario. |
| ComputeTime() |
Convierte los valores del campo de calendario en el valor de hora (desplazamiento de milisegundos de la época). |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
|
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
|
| Equals(Object) |
|
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| From(ZonedDateTime) |
Obtiene una instancia de |
| Get(CalendarField) |
Devuelve el valor del campo de calendario especificado. (Heredado de Calendar) |
| GetActualMaximum(CalendarField) |
Devuelve el valor máximo que podría tener el campo de calendario especificado, dado el valor de hora de . |
| GetActualMinimum(CalendarField) |
Devuelve el valor mínimo que podría tener el campo de calendario especificado, dado el valor de hora de . |
| GetDisplayName(Int32, Int32, Locale) |
Devuelve la representación de cadena del valor de calendario |
| GetDisplayNames(Int32, Int32, Locale) |
Devuelve un |
| GetGreatestMinimum(CalendarField) |
Devuelve el valor mínimo más alto para el campo de calendario especificado de esta |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| GetLeastMaximum(CalendarField) |
Devuelve el valor máximo más bajo para el campo de calendario especificado de esta |
| GetMaximum(CalendarField) |
Devuelve el valor máximo del campo de calendario especificado de esta |
| GetMinimum(CalendarField) |
Devuelve el valor mínimo del campo de calendario especificado de esta |
| InternalGet(Int32) |
Devuelve el valor del campo de calendario especificado. (Heredado de Calendar) |
| IsLeapYear(Int32) |
Determina si el año dado es un año bisiesto. |
| IsSet(CalendarField) |
Determina si el campo de calendario especificado tiene un conjunto de valores, incluidos los casos en los que se ha establecido el valor mediante cálculos de campos internos desencadenados por una |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| Roll(CalendarField, Boolean) |
Agrega o resta (arriba/abajo) una sola unidad de tiempo en el campo de tiempo dado sin cambiar campos más grandes. |
| Roll(CalendarField, Int32) |
Agrega la cantidad especificada (firmada) al campo de calendario especificado sin cambiar los campos más grandes. (Heredado de Calendar) |
| Set(CalendarField, Int32) |
Establece el campo de calendario especificado en el valor especificado. (Heredado de Calendar) |
| Set(Int32, Int32, Int32, Int32, Int32, Int32) |
Establece los valores de los campos |
| Set(Int32, Int32, Int32, Int32, Int32) |
Establece los valores de los campos |
| Set(Int32, Int32, Int32) |
Establece los valores de los campos |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
|
| SetWeekDate(Int32, Int32, Int32) |
Establece la fecha de esto |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToInstant() |
|
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| ToZonedDateTime() |
Convierte este objeto en un |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IComparable.CompareTo(Object) |
|
| IJavaPeerable.Disposed() |
|
| IJavaPeerable.Finalized() |
|
| IJavaPeerable.JniObjectReferenceControlBlock |
|
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
|
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
|
| IJavaPeerable.SetPeerReference(JniObjectReference) |
|
| IJavaPeerable.UnregisterFromRuntime() |
|
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
|
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |