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 интерпретирует все даты и время относительно ивритского календаря.
Комментарии
Еврейский календарь распознает две эпохи: До н.э. (до общей эры) и 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) |