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
Атрибуты

Примеры

В следующем примере создается файл, содержащий диапазоны дат, поддерживаемые классом 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. (до общей эры) и A.M. (Латиница "Анно Мунди", которая означает "год мира"). Эта реализация 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 תמז (Tamuz) 29 29
11 12 אא 30 30
12 13 אללל (Elul) 29 29

Дни в Чешване и Кислеве различаются в зависимости от размещения еврейских праздников. В високосные годы Адар заменяется Адаром Алефом на 30 дней и Адар Бейт 29 дней. Адар Алеф считается високосным месяцем. Последний день Адар Алефа и все дни в Адар Бейт считаются високосными днями; то есть IsLeapDay метод возвращается true в течение этих дней.

Дата 1 января 2001 г. в григорианском календаре эквивалентен шестому дню Тевета в году 5761 A.M. в иврите.

Каждый CultureInfo из них поддерживает набор календарей. Свойство Calendar возвращает календарь по умолчанию для языка и региональных параметров, а OptionalCalendars свойство возвращает массив, содержащий все календари, поддерживаемые языком и региональными параметрами. Чтобы изменить календарь, используемый CultureInfoприложением, необходимо присвоить Calendar свойству CultureInfo.DateTimeFormat нового Calendar.

Конструкторы

HebrewCalendar()

Инициализирует новый экземпляр класса HebrewCalendar.

Поля

CurrentEra

Представляет текущую эру для текущего календаря. Значение этого поля равно 0.

(Унаследовано от Calendar)
HebrewEra

Представляет текущую эру. Это поле является константой.

Свойства

AlgorithmType

Возвращает значение, показывающее, является ли текущий календарь солнечным, лунным или сочетанием и того, и другого.

AlgorithmType

Возвращает значение, показывающее, является ли текущий календарь солнечным, лунным или сочетанием и того, и другого.

(Унаследовано от Calendar)
DaysInYearBeforeMinSupportedYear

Получает число дней в году, который предшествует году, указанному свойством MinSupportedDateTime.

(Унаследовано от Calendar)
Eras

Возвращает список эр в классе HebrewCalendar.

IsReadOnly

Возвращает значение, указывающее, является ли объект Calendar доступным только для чтения.

(Унаследовано от Calendar)
MaxSupportedDateTime

Возвращает самые последние дату и время, поддерживаемые этим типом HebrewCalendar.

MaxSupportedDateTime

Возвращает самые последние дату и время, поддерживаемые этим объектом Calendar.

(Унаследовано от Calendar)
MinSupportedDateTime

Возвращает самые ранние дату и время, поддерживаемые типом HebrewCalendar.

MinSupportedDateTime

Возвращает самые ранние дату и время, поддерживаемые этим объектом Calendar.

(Унаследовано от Calendar)
TwoDigitYearMax

Возвращает или задает последний год в диапазоне ста лет, для которого существует двузначное представление года.

Методы

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)

Возвращает число дней в указанном месяце указанных года текущей эры.

(Унаследовано от Calendar)
GetDaysInMonth(Int32, Int32, Int32)

Возвращает число дней в указанном месяце указанных года и эры.

GetDaysInYear(Int32)

Возвращает число дней в указанном году текущей эры.

(Унаследовано от Calendar)
GetDaysInYear(Int32, Int32)

Возвращает число дней в указанном году указанной эры.

GetEra(DateTime)

Возвращает значение эры из заданного объекта DateTime.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetHour(DateTime)

Возвращает значение часов в заданном DateTime.

(Унаследовано от Calendar)
GetLeapMonth(Int32)

Вычисляет високосный месяц для заданного года.

(Унаследовано от Calendar)
GetLeapMonth(Int32, Int32)

Вычисляет високосный месяц для заданных года и эры.

GetLeapMonth(Int32, Int32)

Вычисляет високосный месяц для заданных года и эры.

(Унаследовано от Calendar)
GetMilliseconds(DateTime)

Возвращает значение миллисекунд в заданном DateTime.

(Унаследовано от Calendar)
GetMinute(DateTime)

Возвращает значение минут в заданном DateTime.

(Унаследовано от Calendar)
GetMonth(DateTime)

Возвращает месяц в заданном типе DateTime.

GetMonthsInYear(Int32)

Возвращает число месяцев в указанном году текущей эры.

(Унаследовано от Calendar)
GetMonthsInYear(Int32, Int32)

Возвращает число месяцев в указанном году указанной эры.

GetSecond(DateTime)

Возвращает значение секунд в заданном DateTime.

(Унаследовано от Calendar)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetWeekOfYear(DateTime, CalendarWeekRule, DayOfWeek)

Возвращает неделю года, к которой относится дата в заданном значении DateTime.

(Унаследовано от Calendar)
GetYear(DateTime)

Возвращает значение года из заданного значения DateTime.

IsLeapDay(Int32, Int32, Int32)

Определяет, является ли указанная дата текущей эры високосным днем.

(Унаследовано от Calendar)
IsLeapDay(Int32, Int32, Int32, Int32)

Определяет, является ли указанная дата указанной эры високосным днем.

IsLeapMonth(Int32, Int32)

Определяет, является ли указанный месяц указанного года текущей эры високосным месяцем.

(Унаследовано от Calendar)
IsLeapMonth(Int32, Int32, Int32)

Определяет, является ли указанный месяц указанного года указанной эры високосным месяцем.

IsLeapYear(Int32)

Определяет, является ли указанный год текущей эры високосным годом.

(Унаследовано от Calendar)
IsLeapYear(Int32, Int32)

Определяет, является ли указанный год указанной эры високосным годом.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Возвращает DateTime с заданными значениями даты и времени текущей эры.

(Унаследовано от Calendar)
ToDateTime(Int32, Int32, Int32, Int32, Int32, Int32, Int32, Int32)

Возвращает DateTime с заданными значениями даты и времени в указанной эре.

ToFourDigitYear(Int32)

Преобразует заданный год в четырехзначный с использованием свойства TwoDigitYearMax для определения века.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел