Поделиться через


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. (до общей эпохи) и А.М. (латиница "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)

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

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