HebrewCalendar Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет ивритский календарь.
public ref class HebrewCalendar : System::Globalization::Calendar
public class HebrewCalendar : System.Globalization.Calendar
[System.Serializable]
public class HebrewCalendar : System.Globalization.Calendar
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class HebrewCalendar : System.Globalization.Calendar
type HebrewCalendar = class
inherit Calendar
[<System.Serializable>]
type HebrewCalendar = class
inherit Calendar
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type HebrewCalendar = class
inherit Calendar
Public Class HebrewCalendar
Inherits Calendar
- Наследование
- Атрибуты
Примеры
В следующем примере создается файл, содержащий диапазоны дат, поддерживаемые HebrewCalendar классом, и отображается количество дней в каждом месяце 5772 года.
using System;
using System.Globalization;
using System.IO;
using System.Threading;
public class Example
{
public static void Main()
{
StreamWriter output = new StreamWriter("HebrewCalendarInfo.txt");
// Make the Hebrew Calendar the current calendar and
// Hebrew (Israel) the current thread culture.
HebrewCalendar hc = new HebrewCalendar();
CultureInfo culture = CultureInfo.CreateSpecificCulture("he-IL");
culture.DateTimeFormat.Calendar = hc;
Thread.CurrentThread.CurrentCulture = culture;
output.WriteLine("{0} Information:\n",
GetCalendarName(culture.DateTimeFormat.Calendar));
// Get the calendar range expressed in both Hebrew calendar and
// Gregorian calendar dates.
output.WriteLine("Start Date: {0} ", hc.MinSupportedDateTime);
culture.DateTimeFormat.Calendar = culture.Calendar;
output.WriteLine(" ({0} Gregorian)\n",
hc.MinSupportedDateTime);
culture.DateTimeFormat.Calendar = hc;
output.WriteLine("End Date: {0} ", hc.MaxSupportedDateTime);
culture.DateTimeFormat.Calendar = culture.Calendar;
output.WriteLine(" ({0} Gregorian)\n",
hc.MaxSupportedDateTime);
culture.DateTimeFormat.Calendar = hc;
// Get the year in the Hebrew calendar that corresponds to 1/1/2012
// and display information about it.
DateTime startOfYear = new DateTime(2012, 1, 1);
output.WriteLine("Days in the Year {0}: {1}\n",
hc.GetYear(startOfYear),
hc.GetDaysInYear(hc.GetYear(startOfYear)));
output.WriteLine("Days in Each Month of {0}:\n", hc.GetYear(startOfYear));
output.WriteLine("Month Days Month Name");
// Change start of year to first day of first month
startOfYear = hc.ToDateTime(hc.GetYear(startOfYear), 1, 1, 0, 0, 0, 0);
DateTime startOfMonth = startOfYear;
for (int ctr = 1; ctr <= hc.GetMonthsInYear(hc.GetYear(startOfYear)); ctr++) {
output.Write(" {0,2}", ctr);
output.WriteLine("{0,12}{1,15:MMM}",
hc.GetDaysInMonth(hc.GetYear(startOfMonth), hc.GetMonth(startOfMonth)),
startOfMonth);
startOfMonth = hc.AddMonths(startOfMonth, 1);
}
output.Close();
}
private static string GetCalendarName(Calendar cal)
{
return cal.ToString().Replace("System.Globalization.", "").Replace("Cal", " Cal");
}
}
// The example displays the following output:
// Hebrew Calendar Information:
//
// Start Date: ז// טבת שמ"ג 00:00:00
// (01/01/1583 00:00:00 Gregorian)
//
// End Date: כ"ט אלול תתקצ"ט 23:59:59
// (29/09/2239 23:59:59 Gregorian)
//
// Days in the Year 5772: 354
//
// Days in Each Month of 5772:
//
// Month Days Month Name
// 1 30 תשרי
// 2 29 חשון
// 3 30 כסלו
// 4 29 טבת
// 5 30 שבט
// 6 29 אדר
// 7 30 ניסן
// 8 29 אייר
// 9 30 סיון
// 10 29 תמוז
// 11 30 אב
// 12 29 אלול
Imports System.Globalization
Imports System.IO
Imports System.Threading
Module Example
Public Sub Main()
Dim output As New StreamWriter("HebrewCalendarInfo.txt")
' Make the Hebrew Calendar the current calendar and
' Hebrew (Israel) the current thread culture.
Dim hc As New HebrewCalendar()
Dim culture As CultureInfo = CultureInfo.CreateSpecificCulture("he-IL")
culture.DateTimeFormat.Calendar = hc
Thread.CurrentThread.CurrentCulture = culture
output.WriteLine("{0} Information:",
GetCalendarName(culture.DateTimeFormat.Calendar))
output.WriteLine()
' Get the calendar range expressed in both Hebrew calendar and
' Gregorian calendar dates.
output.WriteLine("Start Date: {0} ",
hc.MinSupportedDateTime)
culture.DateTimeFormat.Calendar = culture.Calendar
output.WriteLine(" ({0} Gregorian)",
hc.MinSupportedDateTime)
output.WriteLine()
culture.DateTimeFormat.Calendar = hc
output.WriteLine("End Date: {0} ",
hc.MaxSupportedDateTime)
culture.DateTimeFormat.Calendar = culture.Calendar
output.WriteLine(" ({0} Gregorian)",
hc.MaxSupportedDateTime)
output.WriteLine()
culture.DateTimeFormat.Calendar = hc
' Get the year in the Hebrew calendar that corresponds to 1/1/2012
' and display information about it.
Dim startOfYear As Date = #1/1/2012#
output.WriteLine("Days in the Year {0}: {1}",
hc.GetYear(startOfYear),
hc.GetDaysInYear(hc.GetYear(startOfYear)))
output.WriteLine()
output.WriteLine("Days in Each Month of {0}:", hc.GetYear(startOfYear))
output.WriteLine()
output.WriteLine("Month Days Month Name")
' Change start of year to first day of first month
startOfYear = hc.ToDateTime(hc.GetYear(startOfYear), 1, 1, 0, 0, 0, 0)
Dim startOfMonth As Date = startOfYear
For ctr As Integer = 1 To hc.GetMonthsInYear(hc.GetYear(startOfYear))
output.Write(" {0,2}", ctr)
output.WriteLine("{0,12}{1,15:MMM}",
hc.GetDaysInMonth(hc.GetYear(startOfMonth), hc.GetMonth(startOfMonth)),
startOfMonth)
startOfMonth = hc.AddMonths(startOfMonth, 1)
Next
output.Close()
End Sub
Private Function GetCalendarName(cal As Calendar) As String
Return cal.ToString().Replace("System.Globalization.", "").Replace("Cal", " Cal")
End Function
End Module
' The example displays the following output:
' Hebrew Calendar Information:
'
' Start Date: ז' טבת שמ"ג 00:00:00
' (01/01/1583 00:00:00 Gregorian)
'
' End Date: כ"ט אלול תתקצ"ט 23:59:59
' (29/09/2239 23:59:59 Gregorian)
'
' Days in the Year 5772: 354
'
' Days in Each Month of 5772:
'
' Month Days Month Name
' 1 30 תשרי
' 2 29 חשון
' 3 30 כסלו
' 4 29 טבת
' 5 30 שבט
' 6 29 אדר
' 7 30 ניסן
' 8 29 אייר
' 9 30 סיון
' 10 29 תמוז
' 11 30 אב
' 12 29 אלול
Пример создает HebrewCalendar экземпляр объекта и делает его текущим календарем объекта иврита (Израиль). CultureInfo Затем он делает иврит (Израиль) текущей культурой. Это приводит к тому, что среда CLR интерпретирует все даты и время в отношении еврейского календаря.
Комментарии
Ивритский календарь признает две эпохи: B.C.E. (до общей эпохи) и А.М. (латиница "Anno Mundi", что означает "год мира"). Эта реализация HebrewCalendar класса распознает только текущую эпоху (A.M.) и еврейские годы 5343–5999 (1583–2239 в григорианском календаре).
Замечание
Сведения об использовании HebrewCalendar класса и других классов календаря в .NET Framework см. в разделе "Работа с календарями".
В каждом 19-летнем цикле, который заканчивается годом, который равномерно делится на 19, 3, 6, 8, 11, 14, 17-й и 19-й годы вискочие годы. Общий год может иметь от 353 до 355 дней в зависимости от размещения еврейских праздников. Високосный год может иметь от 383 до 385 дней.
Еврейский календарь имеет 12 месяцев в течение общих лет и 13 месяцев в течение високосных лет:
| Значение GetMonth (общий год) | Значение GetMonth (високосный год) | Месяц | Дни в общих годах | Дни в вискочие годы |
|---|---|---|---|---|
| 1 | 1 | תשרר ת (Tishrei) | 30 | 30 |
| 2 | 2 | חשן (Cheshvan) | 29/30 | 29/30 |
| 3 | 3 | כסלללכ (Kislev) | 29/30 | 29/30 |
| 4 | 4 | טת (Tevet) | 29 | 29 |
| 5 | 5 | שט (Шеват) | 30 | 30 |
| 6 | - | אדר (Adar) | 29 | - |
| - | 6 | אדר א (Адар Алеф) | - | 30 |
| - | 7 | אדר ב (Adar Beit) | - | 29 |
| 7 | 8 | נסן (Nissan) | 30 | 30 |
| 8 | 9 | אר (Iyar) | 29 | 29 |
| 9 | 10 | סן (Sivan) | 30 | 30 |
| 10 | 11 | תמז (Тамуз) | 29 | 29 |
| 11 | 12 | אא (Av) | 30 | 30 |
| 12 | 13 | אללל (Elul) | 29 | 29 |
Дни в Чешване и Кислеве зависят от размещения еврейских праздников. Во время високосных лет Адар Алаф заменяет Адар Алеф 30 дней и Адар Бейт с 29 дней. Адар Алеф считается високосным месяцем. Последний день Адар Алеф и все дни в Адар Бейт считаются вискочими днями; То есть IsLeapDay метод возвращается true в эти дни.
Дата 1 января 2001 года в григорианском календаре эквивалентна шестому дню Tevet в 5761 году в еврейском календаре.
Каждый CultureInfo из них поддерживает набор календарей. Свойство Calendar возвращает календарь по умолчанию для языка и региональных параметров, а OptionalCalendars свойство возвращает массив, содержащий все календари, поддерживаемые языком и региональными параметрами. Чтобы изменить календарь, используемый CultureInfoприложением, необходимо задать Calendar свойство CultureInfo.DateTimeFormat нового Calendar.
Конструкторы
| Имя | Описание |
|---|---|
| HebrewCalendar() |
Инициализирует новый экземпляр класса HebrewCalendar. |
Поля
| Имя | Описание |
|---|---|
| CurrentEra |
Представляет текущую эпоху текущего календаря. Значение этого поля равно 0. (Унаследовано от Calendar) |
| HebrewEra |
Представляет текущую эпоху. Это поле является константой. |
Свойства
| Имя | Описание |
|---|---|
| AlgorithmType |
Возвращает значение, указывающее, является ли текущий календарь солнечным, лунным или сочетанием обоих. |
| DaysInYearBeforeMinSupportedYear |
Возвращает количество дней в году, которое предшествует году, заданному свойством MinSupportedDateTime . (Унаследовано от Calendar) |
| Eras |
Возвращает список эпох в элементе HebrewCalendar. |
| IsReadOnly |
Возвращает значение, указывающее, доступен ли этот Calendar объект только для чтения. (Унаследовано от Calendar) |
| MaxSupportedDateTime |
Возвращает последнюю дату и время, поддерживаемую типом HebrewCalendar . |
| MinSupportedDateTime |
Возвращает самые ранние даты и время, поддерживаемые типом HebrewCalendar . |
| TwoDigitYearMax |
Возвращает или задает последний год 100-летнего диапазона, который может быть представлен 2-цифрным годом. |
Методы
| Имя | Описание |
|---|---|
| AddDays(DateTime, Int32) |
DateTime Возвращает указанное число дней от указанногоDateTime. (Унаследовано от Calendar) |
| AddHours(DateTime, Int32) |
DateTime Возвращает указанное количество часов от указанногоDateTime. (Унаследовано от Calendar) |
| AddMilliseconds(DateTime, Double) |
DateTime Возвращает указанное число миллисекунда от указанного DateTimeзначения. (Унаследовано от Calendar) |
| AddMinutes(DateTime, Int32) |
DateTime Возвращает указанное количество минут от указанногоDateTime. (Унаследовано от Calendar) |
| AddMonths(DateTime, Int32) |
DateTime Возвращает указанное число месяцев от указанногоDateTime. |
| AddSeconds(DateTime, Int32) |
DateTime Возвращает указанное количество секунд от указанногоDateTime. (Унаследовано от Calendar) |
| AddWeeks(DateTime, Int32) |
DateTime Возвращает указанное число недель от указанногоDateTime. (Унаследовано от Calendar) |
| AddYears(DateTime, Int32) |
DateTime Возвращает указанное число лет от указанногоDateTime. |
| Clone() |
Создает новый объект, который является копией текущего Calendar объекта. (Унаследовано от Calendar) |
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetDayOfMonth(DateTime) |
Возвращает день месяца в указанном DateTime. |
| GetDayOfWeek(DateTime) |
Возвращает день недели в указанном DateTime. |
| GetDayOfYear(DateTime) |
Возвращает день года в указанном DateTime. |
| GetDaysInMonth(Int32, Int32, Int32) |
Возвращает количество дней в указанном месяце в указанном году в указанной эре. |
| GetDaysInMonth(Int32, Int32) |
Возвращает количество дней в указанном месяце и году текущей эпохи. (Унаследовано от Calendar) |
| GetDaysInYear(Int32, Int32) |
Возвращает количество дней в указанном году в указанной эре. |
| GetDaysInYear(Int32) |
Возвращает количество дней в указанном году текущей эпохи. (Унаследовано от Calendar) |
| GetEra(DateTime) |
Возвращает эру в указанной DateTime. |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetHour(DateTime) |
Возвращает значение часов в указанном DateTime. (Унаследовано от Calendar) |
| GetLeapMonth(Int32, Int32) |
Вычисляет високосный месяц за указанный год и эру. |
| GetLeapMonth(Int32) |
Вычисляет високосный месяц за указанный год. (Унаследовано от Calendar) |
| GetMilliseconds(DateTime) |
Возвращает значение миллисекунда в указанном DateTime. (Унаследовано от Calendar) |
| GetMinute(DateTime) |
Возвращает значение минут в указанном DateTime. (Унаследовано от Calendar) |
| GetMonth(DateTime) |
Возвращает месяц в указанном DateTime. |
| GetMonthsInYear(Int32, Int32) |
Возвращает количество месяцев в указанном году в указанной эре. |
| GetMonthsInYear(Int32) |
Возвращает количество месяцев в указанном году в текущей эре. (Унаследовано от Calendar) |
| GetSecond(DateTime) |
Возвращает значение секунд в указанном DateTime. (Унаследовано от Calendar) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek) |
Возвращает неделю года, включающую дату в указанное DateTime значение. (Унаследовано от Calendar) |
| GetYear(DateTime) |
Возвращает год в указанном DateTime значении. |
| IsLeapDay(Int32, Int32, Int32, Int32) |
Определяет, является ли указанная дата в указанной эре високосным днем. |
| IsLeapDay(Int32, Int32, Int32) |
Определяет, является ли указанная дата в текущей эре високосным днем. (Унаследовано от Calendar) |
| IsLeapMonth(Int32, Int32, Int32) |
Определяет, является ли указанный месяц указанным годом в указанной эре високосным месяцем. |
| IsLeapMonth(Int32, Int32) |
Определяет, является ли указанный месяц в указанном году в текущей эре високосным месяцем. (Унаследовано от Calendar) |
| IsLeapYear(Int32, Int32) |
Определяет, является ли указанный год в указанной эре високосным годом. |
| IsLeapYear(Int32) |
Определяет, является ли указанный год в текущей эре високосным годом. (Унаследовано от Calendar) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
DateTime Возвращает значение указанной даты и времени в указанной эре. |
| ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32) |
Возвращает значение указанной DateTime даты и времени в текущей эре. (Унаследовано от Calendar) |
| ToFourDigitYear(Int32) |
Преобразует указанный год в 4-значный год с помощью TwoDigitYearMax свойства для определения соответствующего века. |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |