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


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 интерпретирует все даты и время относительно ивритского календаря.

Комментарии

Еврейский календарь распознает две эпохи: До н.э. (до общей эры) и A.M. (лат. 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 כסלללכ (Кислев) 29/30 29/30
4 4 טת (Tevet) 29 29
5 5 שט (Shevat) 30 30
6 - אדר (Adar) 29 -
- 6 אדר א (Адар Алеф) - 30
- 7 אדר ב (Адар Бейт) - 29
7 8 נסן (Nissan) 30 30
8 9 אруר (Iyar) 29 29
9 10 ססןן (Sivan) 30 30
10 11 תמז (Тамуз) 29 29
11 12 אא 30 30
12 13 אללל (Elul) 29 29

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

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

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

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

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