PersianCalendarとは? わかりやすく解説

PersianCalendar クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

ペルシャ暦を表します。

名前空間: System.Globalization
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
Public Class PersianCalendar
    Inherits Calendar
Dim instance As PersianCalendar
[SerializableAttribute] 
public class PersianCalendar : Calendar
[SerializableAttribute] 
public ref class PersianCalendar : public
 Calendar
/** @attribute SerializableAttribute() */ 
public class PersianCalendar extends Calendar
SerializableAttribute 
public class PersianCalendar extends
 Calendar
解説解説

地域によって月の名前に相違がある場合もありますが、ペルシャ暦は、ペルシャ語が話されるほとんどの国で使用されています。ペルシャ暦はイランとアフガニスタンにおける公式な暦であり、カザフスタンやタジキスタンなどの地域では代替暦の 1 つとして使用されています。

ペルシャ暦は、ヒジュラの年から日付が始まります。この年は、マホメットがメッカからメディナに移住した紀元 622 年に対応します。たとえば、紀元 2002 年 3 月 21 日は、A.P. (Anno Persico) 1381 年の Farvardeen という月の最初の日に相当します。

ペルシャ暦は、太陽年に基づいていて、1 年を約 365 日とします。1 年は 4 つの季節を持ち、新年は、地球の中心から見たときに太陽が南半球から北半球に赤道を横切るように見えるときから始まります。新年になると、Farvardeen の月の最初の日を迎えます。これは、北半球で春の最初の日となります。

ペルシャ暦では、最初の 6 つの月をそれぞれ 31 日とし、その次の 5 つの月をそれぞれ 30 日とします。最後の月は、平年で 29 日、閏年で 30 日とします。閏年とは、33 で割ったときの剰余が 1、5、9、13、17、22、26、または 30 となる年です。たとえば、1370 年は、33 で割ったときの剰余が 17 となるので閏年です。およそ 33 年周期で 8 つの閏年があります。

PersianCalendar の使用

PersianCalendar オブジェクトは、ペルシャ暦の日付を計算したり、ペルシャ暦とグレゴリオ暦間で日付を変換したりする場合に使用します。

PersianCalendar オブジェクトをカルチャの既定のカレンダーとして使うことは避けてください。既定のカレンダーは、CultureInfo.Calendar プロパティによって指定され、CultureInfo.OptionalCalendars プロパティによって返されるいずれかのカレンダーであることが必要です。現在、PersianCalendar クラスのカレンダーは CultureInfo クラスがサポートするカルチャでは一切選択できません。したがって、既定のカレンダーに使用することもできません。

使用例使用例

PersianCalendar クラスのメンバであるフィールド、プロパティ、およびメソッドを使用するコード例を次に示します。

' This example demonstrates the members of the PersianCalendar class.
Imports System
Imports System.Globalization

Class Sample
    Public Shared Sub Main()
 
        '--------------------------------------------------------------------------------
        ' Get today's date.
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "................. Today ..........................."
 & vbCrLf)
        Dim jc As New PersianCalendar()
        Dim thisDate As DateTime = DateTime.Now

        ' Use thisDate twice to display the name of the day and the
 current date. 
        Console.WriteLine("Today is {0:dddd}, {0}",
 thisDate)
        '--------------------------------------------------------------------------------
        ' Fields
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "............... Fields ............................"
 & vbCrLf)
        Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra)
        '--------------------------------------------------------------------------------
        ' Properties
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "............... Properties ........................."
 & vbCrLf)
        Console.Write("Eras:")
        Dim era As Integer
        For Each era In
 jc.Eras
            Console.WriteLine(" era = {0}", era)
        Next era
        '--------------------------------------------------------------------------------
        Console.WriteLine("MaxSupportedDateTime = {0:G}",
 jc.MaxSupportedDateTime)
        '--------------------------------------------------------------------------------
        Console.WriteLine("MinSupportedDateTime = {0:G}",
 jc.MinSupportedDateTime)
        '--------------------------------------------------------------------------------
        Console.WriteLine("TwoDigitYearMax = {0}",
 jc.TwoDigitYearMax)
        '--------------------------------------------------------------------------------
        ' Methods
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "................ Methods ..........................."
 & vbCrLf)

        ' Create a date six months in the future and another date six
 months in the past. 

        Dim plus6Months As DateTime = jc.AddMonths(thisDate,
 6)
        Dim minus6Months As DateTime = jc.AddMonths(thisDate,
 -6)
        Console.WriteLine("AddMonths: thisDate + 6 months = {0}",
 plus6Months)
        Console.WriteLine("           thisDate - 6 months = {0}",
 minus6Months)
        '--------------------------------------------------------------------------------

        ' Create a date five years in the future and another date three
 years in the past.
 
        Dim plus5Years As DateTime = jc.AddYears(thisDate,
 5)
        Dim minus3Years As DateTime = jc.AddYears(thisDate,
 -3)
        Console.WriteLine("AddYears:  thisDate + 5 years = {0}",
 plus5Years)
        Console.WriteLine("           thisDate - 3 years = {0}",
 minus3Years)
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfMonth: month = {0}",
 jc.GetDayOfMonth(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfWeek: day = {0}",
 jc.GetDayOfWeek(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfYear: day = {0}",
 jc.GetDayOfYear(thisDate))
        '--------------------------------------------------------------------------------

        Console.WriteLine("GetDaysInMonth: days = {0}",
 _
                           jc.GetDaysInMonth(thisDate.Year, _
                                             thisDate.Month, _
                                             PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDaysInYear: days = {0}",
 _
                          jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetEra: era = {0}", jc.GetEra(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetLeapMonth: leap month (if any) =
 {0}", _
                           jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetMonth: month = {0}",
 jc.GetMonth(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetMonthsInYear: months in a year =
 {0}", _
                           jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetYear: year = {0}", jc.GetYear(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapDay: This is a leap day = {0}",
 _
                           jc.IsLeapDay(thisDate.Year, _
                                        thisDate.Month, thisDate.Day, _
                                        PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapMonth: This is a leap month =
 {0}", _
                           jc.IsLeapMonth(thisDate.Year, _
                                          thisDate.Month, _
                                          PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}",
 _
                           jc.IsLeapYear(1370, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------

        ' Create a date in the Gregorian calendar and the Persian calendar.
 The date is
        ' the current date and an arbitrary time of 20 hours, 30 minutes,
 and 15.5 
        ' seconds.

        Dim dt1 As New DateTime(thisDate.Year,
 thisDate.Month, thisDate.Day, _
                                20, 30, 15, 500)
        Dim dt2 As DateTime = jc.ToDateTime(thisDate.Year,
 thisDate.Month, _
                              thisDate.Day, _
                              20, 30, 15, 500, _
                              PersianCalendar.PersianEra)
        Console.WriteLine("ToDateTime:")
        Console.WriteLine("  Gregorian calendar: {0}",
 dt1)
        Console.WriteLine("  Persian calendar:   {0}",
 dt2)
        '--------------------------------------------------------------------------------

        ' Get the 4-digit year for a year whose last two digits are
 99. The 4-digit year 
        ' depends on the current value of the TwoDigitYearMax property.

        Console.WriteLine("ToFourDigitYear:")
        Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99)
 = {1}", _
                          jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
        jc.TwoDigitYearMax = thisDate.Year
        Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99)
 = {1}", _
                          jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
    End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'................. Today ...........................
'
'Today is Friday, 8/20/2004 1:08:37 PM
'
'............... Fields .............................
'
'PersianEra = 1
'
'............... Properties .........................
'
'Eras: era = 1
'MaxSupportedDateTime = 12/31/9999 11:59:59 PM
'MinSupportedDateTime = 3/21/0622 12:00:00 AM
'TwoDigitYearMax = 1410
'
'................ Methods ...........................
'
'AddMonths: thisDate + 6 months = 2/18/2005 1:08:37 PM
'           thisDate - 6 months = 2/19/2004 1:08:37 PM
'AddYears:  thisDate + 5 years =  8/21/2009 1:08:37 PM
'           thisDate - 3 years =  8/21/2001 1:08:37 PM
'GetDayOfMonth: month = 30
'GetDayOfWeek: day = Friday
'GetDayOfYear: day = 154
'GetDaysInMonth: days = 30
'GetDaysInYear: days = 365
'GetEra: era = 1
'GetLeapMonth: leap month (if any) = 0
'GetMonth: month = 5
'GetMonthsInYear: months in a year = 12
'GetYear: year = 1383
'IsLeapDay: This is a leap day = False
'IsLeapMonth: This is a leap month = False
'IsLeapYear: 1370 is a leap year = True
'ToDateTime:
'  Gregorian calendar: 8/20/2004 8:30:15 PM
'  Persian calendar:   11/11/2625 8:30:15 PM
'ToFourDigitYear:
'  If TwoDigitYearMax = 1410, ToFourDigitYear(99) = 1399
'  If TwoDigitYearMax = 2004, ToFourDigitYear(99) = 1999
'
// This example demonstrates the members of the PersianCalendar class.

using System;
using System.Globalization;

class Sample 
{
    public static void Main()
 
    {
//--------------------------------------------------------------------------------
// Get today's date.
//--------------------------------------------------------------------------------
    Console.WriteLine("\n................. Today ...........................\n");
    PersianCalendar jc = new PersianCalendar();
    DateTime thisDate = DateTime.Now;

// Use thisDate twice to display the name of the day and the current
 date.
    Console.WriteLine("Today is {0:dddd}, {0}", thisDate);
//--------------------------------------------------------------------------------
// Fields
//--------------------------------------------------------------------------------
    Console.WriteLine("\n............... Fields .............................\n");
    Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra);
//--------------------------------------------------------------------------------
// Properties
//--------------------------------------------------------------------------------
    Console.WriteLine("\n............... Properties .........................\n");
    Console.Write("Eras:");
    foreach (int era in
 jc.Eras)
        {
        Console.WriteLine(" era = {0}", era);
        }
//--------------------------------------------------------------------------------
    Console.WriteLine("MaxSupportedDateTime = {0:G}", jc.MaxSupportedDateTime);
//--------------------------------------------------------------------------------
    Console.WriteLine("MinSupportedDateTime = {0:G}", jc.MinSupportedDateTime);
//--------------------------------------------------------------------------------
    Console.WriteLine("TwoDigitYearMax = {0}", jc.TwoDigitYearMax);
//--------------------------------------------------------------------------------
// Methods
//--------------------------------------------------------------------------------
    Console.WriteLine("\n................ Methods ...........................\n");

// Create a date six months in the future and another date six months
 in the past.

    Console.WriteLine("AddMonths: thisDate + 6 months = {0}\n" + 
                      "           thisDate - 6 months = {1}",
                       jc.AddMonths(thisDate, 6), jc.AddMonths(thisDate, -6));
//--------------------------------------------------------------------------------

// Create a date five years in the future and another date three years
 in the past.

    Console.WriteLine("AddYears:  thisDate + 5 years =  {0}\n" + 
                      "           thisDate - 3 years =  {1}",
                       jc.AddYears(thisDate, 5), jc.AddYears(thisDate, -3));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfMonth: month = {0}", jc.GetDayOfMonth(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfWeek: day = {0}", jc.GetDayOfWeek(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDaysInMonth: days = {0}", 
                      jc.GetDaysInMonth( thisDate.Year, thisDate.Month, 
                      PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDaysInYear: days = {0}", 
                       jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetEra: era = {0}", jc.GetEra(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetLeapMonth: leap month (if any)
 = {0}", 
                       jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetMonth: month = {0}", jc.GetMonth(thisDate));
//-------------------------------------------------------------
    Console.WriteLine("GetMonthsInYear: months in a year
 = {0}", 
                       jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetYear: year = {0}", jc.GetYear(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapDay: This is a leap day = {0}", 
                       jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day,
 
                       PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapMonth: This is a leap month = {0}", 
                       jc.IsLeapMonth(thisDate.Year, thisDate.Month, 
                       PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", 
                       jc.IsLeapYear(1370, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    DateTime dt1 = new DateTime(thisDate.Year, thisDate.Month,
 thisDate.Day, 20, 30, 15, 500);
    DateTime dt2 = jc.ToDateTime(thisDate.Year, thisDate.Month, thisDate.Day, 20,
 30, 15, 500, 
                                 PersianCalendar.PersianEra);
    Console.WriteLine("ToDateTime:");
    Console.WriteLine("  Gregorian calendar: {0}\n" +
                      "  Persian calendar:   {1}", dt1, dt2);
//--------------------------------------------------------------------------------

// Get the 4-digit year for a year whose last two digits are 99. The
 4-digit year 
// depends on the current value of the TwoDigitYearMax property.

    Console.WriteLine("ToFourDigitYear:");
    Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
 
                       jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    jc.TwoDigitYearMax = thisDate.Year;
    Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
 
                       jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    }
}
/*
This code example produces the following results:

................. Today ...........................

Today is Friday, 8/20/2004 1:08:37 PM

............... Fields .............................

PersianEra = 1

............... Properties .........................

Eras: era = 1
MaxSupportedDateTime = 12/31/9999 11:59:59 PM
MinSupportedDateTime = 3/21/0622 12:00:00 AM
TwoDigitYearMax = 1410

................ Methods ...........................

AddMonths: thisDate + 6 months = 2/18/2005 1:08:37 PM
           thisDate - 6 months = 2/19/2004 1:08:37 PM
AddYears:  thisDate + 5 years =  8/21/2009 1:08:37 PM
           thisDate - 3 years =  8/21/2001 1:08:37 PM
GetDayOfMonth: month = 30
GetDayOfWeek: day = Friday
GetDayOfYear: day = 154
GetDaysInMonth: days = 30
GetDaysInYear: days = 365
GetEra: era = 1
GetLeapMonth: leap month (if any) = 0
GetMonth: month = 5
GetMonthsInYear: months in a year = 12
GetYear: year = 1383
IsLeapDay: This is a leap day = False
IsLeapMonth: This is a leap month = False
IsLeapYear: 1370 is a leap year = True
ToDateTime:
  Gregorian calendar: 8/20/2004 8:30:15 PM
  Persian calendar:   11/11/2625 8:30:15 PM
ToFourDigitYear:
  If TwoDigitYearMax = 1410, ToFourDigitYear(99) = 1399
  If TwoDigitYearMax = 2004, ToFourDigitYear(99) = 1999

*/
継承階層継承階層
System.Object
   System.Globalization.Calendar
    System.Globalization.PersianCalendar
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PersianCalendar メンバ
System.Globalization 名前空間
Calendar クラス
CultureInfo.Calendar プロパティ
CultureInfo.OptionalCalendars プロパティ

PersianCalendar コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

PersianCalendar クラスの新しいインスタンスを初期化します。

名前空間: System.Globalization
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Dim instance As New PersianCalendar
public PersianCalendar ()
public:
PersianCalendar ()
public PersianCalendar ()
public function PersianCalendar ()
使用例使用例

PersianCalendar クラスのメンバであるフィールド、プロパティ、およびメソッドを使用するコード例を次に示します。

' This example demonstrates the members of the PersianCalendar class.
Imports System
Imports System.Globalization

Class Sample
    Public Shared Sub Main()
 
        '--------------------------------------------------------------------------------
        ' Get today's date.
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "................. Today ..........................."
 & vbCrLf)
        Dim jc As New PersianCalendar()
        Dim thisDate As DateTime = DateTime.Now

        ' Use thisDate twice to display the name of the day and the
 current date. 
        Console.WriteLine("Today is {0:dddd}, {0}",
 thisDate)
        '--------------------------------------------------------------------------------
        ' Fields
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "............... Fields ............................"
 & vbCrLf)
        Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra)
        '--------------------------------------------------------------------------------
        ' Properties
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "............... Properties ........................."
 & vbCrLf)
        Console.Write("Eras:")
        Dim era As Integer
        For Each era In
 jc.Eras
            Console.WriteLine(" era = {0}", era)
        Next era
        '--------------------------------------------------------------------------------
        Console.WriteLine("MaxSupportedDateTime = {0:G}",
 jc.MaxSupportedDateTime)
        '--------------------------------------------------------------------------------
        Console.WriteLine("MinSupportedDateTime = {0:G}",
 jc.MinSupportedDateTime)
        '--------------------------------------------------------------------------------
        Console.WriteLine("TwoDigitYearMax = {0}",
 jc.TwoDigitYearMax)
        '--------------------------------------------------------------------------------
        ' Methods
        '--------------------------------------------------------------------------------
        Console.WriteLine(vbCrLf & _
                          "................ Methods ..........................."
 & vbCrLf)

        ' Create a date six months in the future and another date six
 months in the past. 

        Dim plus6Months As DateTime = jc.AddMonths(thisDate,
 6)
        Dim minus6Months As DateTime = jc.AddMonths(thisDate,
 -6)
        Console.WriteLine("AddMonths: thisDate + 6 months = {0}",
 plus6Months)
        Console.WriteLine("           thisDate - 6 months = {0}",
 minus6Months)
        '--------------------------------------------------------------------------------

        ' Create a date five years in the future and another date three
 years in the past.
 
        Dim plus5Years As DateTime = jc.AddYears(thisDate,
 5)
        Dim minus3Years As DateTime = jc.AddYears(thisDate,
 -3)
        Console.WriteLine("AddYears:  thisDate + 5 years = {0}",
 plus5Years)
        Console.WriteLine("           thisDate - 3 years = {0}",
 minus3Years)
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfMonth: month = {0}",
 jc.GetDayOfMonth(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfWeek: day = {0}",
 jc.GetDayOfWeek(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDayOfYear: day = {0}",
 jc.GetDayOfYear(thisDate))
        '--------------------------------------------------------------------------------

        Console.WriteLine("GetDaysInMonth: days = {0}",
 _
                           jc.GetDaysInMonth(thisDate.Year, _
                                             thisDate.Month, _
                                             PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetDaysInYear: days = {0}",
 _
                          jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetEra: era = {0}", jc.GetEra(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetLeapMonth: leap month (if any) =
 {0}", _
                           jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetMonth: month = {0}",
 jc.GetMonth(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetMonthsInYear: months in a year =
 {0}", _
                           jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("GetYear: year = {0}", jc.GetYear(thisDate))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapDay: This is a leap day = {0}",
 _
                           jc.IsLeapDay(thisDate.Year, _
                                        thisDate.Month, thisDate.Day, _
                                        PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapMonth: This is a leap month =
 {0}", _
                           jc.IsLeapMonth(thisDate.Year, _
                                          thisDate.Month, _
                                          PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------
        Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}",
 _
                           jc.IsLeapYear(1370, PersianCalendar.PersianEra))
        '--------------------------------------------------------------------------------

        ' Create a date in the Gregorian calendar and the Persian calendar.
 The date is
        ' the current date and an arbitrary time of 20 hours, 30 minutes,
 and 15.5 
        ' seconds.

        Dim dt1 As New DateTime(thisDate.Year,
 thisDate.Month, thisDate.Day, _
                                20, 30, 15, 500)
        Dim dt2 As DateTime = jc.ToDateTime(thisDate.Year,
 thisDate.Month, _
                              thisDate.Day, _
                              20, 30, 15, 500, _
                              PersianCalendar.PersianEra)
        Console.WriteLine("ToDateTime:")
        Console.WriteLine("  Gregorian calendar: {0}",
 dt1)
        Console.WriteLine("  Persian calendar:   {0}",
 dt2)
        '--------------------------------------------------------------------------------

        ' Get the 4-digit year for a year whose last two digits are
 99. The 4-digit year 
        ' depends on the current value of the TwoDigitYearMax property.

        Console.WriteLine("ToFourDigitYear:")
        Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99)
 = {1}", _
                          jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
        jc.TwoDigitYearMax = thisDate.Year
        Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99)
 = {1}", _
                          jc.TwoDigitYearMax, jc.ToFourDigitYear(99))
    End Sub 'Main
End Class 'Sample
'
'This code example produces the following results:
'
'................. Today ...........................
'
'Today is Friday, 8/20/2004 1:08:37 PM
'
'............... Fields .............................
'
'PersianEra = 1
'
'............... Properties .........................
'
'Eras: era = 1
'MaxSupportedDateTime = 12/31/9999 11:59:59 PM
'MinSupportedDateTime = 3/21/0622 12:00:00 AM
'TwoDigitYearMax = 1410
'
'................ Methods ...........................
'
'AddMonths: thisDate + 6 months = 2/18/2005 1:08:37 PM
'           thisDate - 6 months = 2/19/2004 1:08:37 PM
'AddYears:  thisDate + 5 years =  8/21/2009 1:08:37 PM
'           thisDate - 3 years =  8/21/2001 1:08:37 PM
'GetDayOfMonth: month = 30
'GetDayOfWeek: day = Friday
'GetDayOfYear: day = 154
'GetDaysInMonth: days = 30
'GetDaysInYear: days = 365
'GetEra: era = 1
'GetLeapMonth: leap month (if any) = 0
'GetMonth: month = 5
'GetMonthsInYear: months in a year = 12
'GetYear: year = 1383
'IsLeapDay: This is a leap day = False
'IsLeapMonth: This is a leap month = False
'IsLeapYear: 1370 is a leap year = True
'ToDateTime:
'  Gregorian calendar: 8/20/2004 8:30:15 PM
'  Persian calendar:   11/11/2625 8:30:15 PM
'ToFourDigitYear:
'  If TwoDigitYearMax = 1410, ToFourDigitYear(99) = 1399
'  If TwoDigitYearMax = 2004, ToFourDigitYear(99) = 1999
'
// This example demonstrates the members of the PersianCalendar class.

using System;
using System.Globalization;

class Sample 
{
    public static void Main()
 
    {
//--------------------------------------------------------------------------------
// Get today's date.
//--------------------------------------------------------------------------------
    Console.WriteLine("\n................. Today ...........................\n");
    PersianCalendar jc = new PersianCalendar();
    DateTime thisDate = DateTime.Now;

// Use thisDate twice to display the name of the day and the current
 date.
    Console.WriteLine("Today is {0:dddd}, {0}", thisDate);
//--------------------------------------------------------------------------------
// Fields
//--------------------------------------------------------------------------------
    Console.WriteLine("\n............... Fields .............................\n");
    Console.WriteLine("PersianEra = {0}", PersianCalendar.PersianEra);
//--------------------------------------------------------------------------------
// Properties
//--------------------------------------------------------------------------------
    Console.WriteLine("\n............... Properties .........................\n");
    Console.Write("Eras:");
    foreach (int era in
 jc.Eras)
        {
        Console.WriteLine(" era = {0}", era);
        }
//--------------------------------------------------------------------------------
    Console.WriteLine("MaxSupportedDateTime = {0:G}", jc.MaxSupportedDateTime);
//--------------------------------------------------------------------------------
    Console.WriteLine("MinSupportedDateTime = {0:G}", jc.MinSupportedDateTime);
//--------------------------------------------------------------------------------
    Console.WriteLine("TwoDigitYearMax = {0}", jc.TwoDigitYearMax);
//--------------------------------------------------------------------------------
// Methods
//--------------------------------------------------------------------------------
    Console.WriteLine("\n................ Methods ...........................\n");

// Create a date six months in the future and another date six months
 in the past.

    Console.WriteLine("AddMonths: thisDate + 6 months = {0}\n" + 
                      "           thisDate - 6 months = {1}",
                       jc.AddMonths(thisDate, 6), jc.AddMonths(thisDate, -6));
//--------------------------------------------------------------------------------

// Create a date five years in the future and another date three years
 in the past.

    Console.WriteLine("AddYears:  thisDate + 5 years =  {0}\n" + 
                      "           thisDate - 3 years =  {1}",
                       jc.AddYears(thisDate, 5), jc.AddYears(thisDate, -3));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfMonth: month = {0}", jc.GetDayOfMonth(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfWeek: day = {0}", jc.GetDayOfWeek(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDayOfYear: day = {0}", jc.GetDayOfYear(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDaysInMonth: days = {0}", 
                      jc.GetDaysInMonth( thisDate.Year, thisDate.Month, 
                      PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetDaysInYear: days = {0}", 
                       jc.GetDaysInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetEra: era = {0}", jc.GetEra(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetLeapMonth: leap month (if any)
 = {0}", 
                       jc.GetLeapMonth(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetMonth: month = {0}", jc.GetMonth(thisDate));
//-------------------------------------------------------------
    Console.WriteLine("GetMonthsInYear: months in a year
 = {0}", 
                       jc.GetMonthsInYear(thisDate.Year, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("GetYear: year = {0}", jc.GetYear(thisDate));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapDay: This is a leap day = {0}", 
                       jc.IsLeapDay(thisDate.Year, thisDate.Month, thisDate.Day,
 
                       PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapMonth: This is a leap month = {0}", 
                       jc.IsLeapMonth(thisDate.Year, thisDate.Month, 
                       PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    Console.WriteLine("IsLeapYear: 1370 is a leap year = {0}", 
                       jc.IsLeapYear(1370, PersianCalendar.PersianEra));
//--------------------------------------------------------------------------------
    DateTime dt1 = new DateTime(thisDate.Year, thisDate.Month,
 thisDate.Day, 20, 30, 15, 500);
    DateTime dt2 = jc.ToDateTime(thisDate.Year, thisDate.Month, thisDate.Day, 20,
 30, 15, 500, 
                                 PersianCalendar.PersianEra);
    Console.WriteLine("ToDateTime:");
    Console.WriteLine("  Gregorian calendar: {0}\n" +
                      "  Persian calendar:   {1}", dt1, dt2);
//--------------------------------------------------------------------------------

// Get the 4-digit year for a year whose last two digits are 99. The
 4-digit year 
// depends on the current value of the TwoDigitYearMax property.

    Console.WriteLine("ToFourDigitYear:");
    Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
 
                       jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    jc.TwoDigitYearMax = thisDate.Year;
    Console.WriteLine("  If TwoDigitYearMax = {0}, ToFourDigitYear(99) = {1}",
 
                       jc.TwoDigitYearMax, jc.ToFourDigitYear(99));
    }
}
/*
This code example produces the following results:

................. Today ...........................

Today is Friday, 8/20/2004 1:08:37 PM

............... Fields .............................

PersianEra = 1

............... Properties .........................

Eras: era = 1
MaxSupportedDateTime = 12/31/9999 11:59:59 PM
MinSupportedDateTime = 3/21/0622 12:00:00 AM
TwoDigitYearMax = 1410

................ Methods ...........................

AddMonths: thisDate + 6 months = 2/18/2005 1:08:37 PM
           thisDate - 6 months = 2/19/2004 1:08:37 PM
AddYears:  thisDate + 5 years =  8/21/2009 1:08:37 PM
           thisDate - 3 years =  8/21/2001 1:08:37 PM
GetDayOfMonth: month = 30
GetDayOfWeek: day = Friday
GetDayOfYear: day = 154
GetDaysInMonth: days = 30
GetDaysInYear: days = 365
GetEra: era = 1
GetLeapMonth: leap month (if any) = 0
GetMonth: month = 5
GetMonthsInYear: months in a year = 12
GetYear: year = 1383
IsLeapDay: This is a leap day = False
IsLeapMonth: This is a leap month = False
IsLeapYear: 1370 is a leap year = True
ToDateTime:
  Gregorian calendar: 8/20/2004 8:30:15 PM
  Persian calendar:   11/11/2625 8:30:15 PM
ToFourDigitYear:
  If TwoDigitYearMax = 1410, ToFourDigitYear(99) = 1399
  If TwoDigitYearMax = 2004, ToFourDigitYear(99) = 1999

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

PersianCalendar フィールド


パブリック フィールドパブリック フィールド

  名前 説明
パブリック フィールド PersianEra 現在の時代 (年号) を表します。このフィールドは定数です。
参照参照

関連項目

PersianCalendar クラス
System.Globalization 名前空間
Calendar クラス
CultureInfo.Calendar プロパティ
CultureInfo.OptionalCalendars プロパティ

PersianCalendar プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ AlgorithmType オーバーライドされます。 現在のカレンダーの暦法 (太陽暦、太陰暦、または太陰太陽暦) を示す値を取得します。
パブリック プロパティ Eras オーバーライドされます。 PersianCalendar オブジェクト内の時代 (年号) のリストを取得します。
パブリック プロパティ IsReadOnly  この Calendar オブジェクトが読み取り専用かどうかを示す値を取得します。 ( Calendar から継承されます。)
パブリック プロパティ MaxSupportedDateTime オーバーライドされます。 PersianCalendar クラスでサポートされている最も新しい日付と時刻を取得します。
パブリック プロパティ MinSupportedDateTime オーバーライドされます。 PersianCalendar クラスでサポートされている最も古い日付と時刻を取得します。
パブリック プロパティ TwoDigitYearMax オーバーライドされます。 年の 2 桁表記で表すことができる 100 年間の範囲内で最後に当たる年を取得または設定します。
参照参照

関連項目

PersianCalendar クラス
System.Globalization 名前空間
Calendar クラス
CultureInfo.Calendar プロパティ
CultureInfo.OptionalCalendars プロパティ

PersianCalendar メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddDays  指定した DateTime から指定した日数が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddHours  指定した DateTime から指定した時間が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddMilliseconds  指定した DateTime から指定したミリ秒が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddMinutes  指定した DateTime から指定した分数が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddMonths オーバーライドされます。 指定した DateTime オブジェクトから指定した月数が経過した後の DateTime オブジェクトを返します。
パブリック メソッド AddSeconds  指定した DateTime から指定した秒数が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddWeeks  指定した DateTime から指定した週数が経過した後の DateTime を返します。 ( Calendar から継承されます。)
パブリック メソッド AddYears オーバーライドされます。 指定した DateTime オブジェクトから指定した年数が経過した後の DateTime オブジェクトを返します。
パブリック メソッド Clone  現在の Calendar オブジェクトのコピーである新しいオブジェクトを作成します。 ( Calendar から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetDayOfMonth オーバーライドされます。 指定した DateTime オブジェクトの日付を返します。
パブリック メソッド GetDayOfWeek オーバーライドされます。 指定した DateTime オブジェクトの曜日を返します。
パブリック メソッド GetDayOfYear オーバーライドされます。 指定した DateTime オブジェクトの年間積算日を返します。
パブリック メソッド GetDaysInMonth オーバーロードされます。 指定した年と時代 (年号) の指定した月の日数を返します。
パブリック メソッド GetDaysInYear オーバーロードされます。 指定した時代 (年号) の指定した年の日数を返します。
パブリック メソッド GetEra オーバーライドされます。 指定した DateTime オブジェクトの時代 (年号) を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetHour  指定した DateTime の時間の値を返します。 ( Calendar から継承されます。)
パブリック メソッド GetLeapMonth オーバーロードされます。 指定された年と時代 (年号) の閏月を返します。
パブリック メソッド GetMilliseconds  指定した DateTime のミリ秒の値を返します。 ( Calendar から継承されます。)
パブリック メソッド GetMinute  指定した DateTime の分の値を返します。 ( Calendar から継承されます。)
パブリック メソッド GetMonth オーバーライドされます。 指定した DateTime オブジェクトの月を返します。
パブリック メソッド GetMonthsInYear オーバーロードされます。 指定した時代 (年号) の指定した年の月数を返します。
パブリック メソッド GetSecond  指定した DateTime の秒の値を返します。 ( Calendar から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド GetWeekOfYear  指定した DateTime の日付を含むその年の週を返します。 ( Calendar から継承されます。)
パブリック メソッド GetYear オーバーライドされます。 指定した DateTime オブジェクトの年を返します。
パブリック メソッド IsLeapDay オーバーロードされます。 指定した日付が閏日かどうかを確認します。
パブリック メソッド IsLeapMonth オーバーロードされます。 指定した年と時代 (年号) の指定した月が閏月かどうかを確認します。
パブリック メソッド IsLeapYear オーバーロードされます。 指定した時代 (年号) の指定した年が閏年かどうかを確認します。
パブリック メソッド ReadOnly  指定された Calendar オブジェクトの読み取り専用バージョンを返します。 ( Calendar から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToDateTime オーバーロードされます。 指定した日付、時刻、および時代 (年号) に設定された DateTime オブジェクトを返します。
パブリック メソッド ToFourDigitYear オーバーライドされます。 指定した年を 4 桁表記の年に変換します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

PersianCalendar クラス
System.Globalization 名前空間
Calendar クラス
CultureInfo.Calendar プロパティ
CultureInfo.OptionalCalendars プロパティ

PersianCalendar メンバ

ペルシャ暦を表します。

PersianCalendar データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド PersianCalendar PersianCalendar クラスの新しいインスタンスを初期化します。
パブリック フィールドパブリック フィールド
  名前 説明
パブリック フィールド PersianEra 現在の時代 (年号) を表します。このフィールドは定数です。
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ AlgorithmType オーバーライドされます。 現在のカレンダーの暦法 (太陽暦、太陰暦、または太陰太陽暦) を示す値を取得します。
パブリック プロパティ Eras オーバーライドされます。 PersianCalendar オブジェクト内の時代 (年号) のリストを取得します。
パブリック プロパティ IsReadOnly  この Calendar オブジェクトが読み取り専用かどうかを示す値を取得します。(Calendar から継承されます。)
パブリック プロパティ MaxSupportedDateTime オーバーライドされます。 PersianCalendar クラスでサポートされている最も新しい日付と時刻を取得します。
パブリック プロパティ MinSupportedDateTime オーバーライドされます。 PersianCalendar クラスでサポートされている最も古い日付と時刻を取得します。
パブリック プロパティ TwoDigitYearMax オーバーライドされます。 年の 2 桁表記で表すことができる 100 年間の範囲内で最後に当たる年を取得または設定します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド AddDays  指定した DateTime から指定した日数が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddHours  指定した DateTime から指定した時間が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddMilliseconds  指定した DateTime から指定したミリ秒が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddMinutes  指定した DateTime から指定した分数が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddMonths オーバーライドされます。 指定した DateTime オブジェクトから指定した月数が経過した後の DateTime オブジェクトを返します。
パブリック メソッド AddSeconds  指定した DateTime から指定した秒数が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddWeeks  指定した DateTime から指定した週数が経過した後の DateTime を返します。 (Calendar から継承されます。)
パブリック メソッド AddYears オーバーライドされます。 指定した DateTime オブジェクトから指定した年数が経過した後の DateTime オブジェクトを返します。
パブリック メソッド Clone  現在の Calendar オブジェクトのコピーである新しいオブジェクトを作成します。 (Calendar から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetDayOfMonth オーバーライドされます。 指定した DateTime オブジェクトの日付を返します。
パブリック メソッド GetDayOfWeek オーバーライドされます。 指定した DateTime オブジェクトの曜日を返します。
パブリック メソッド GetDayOfYear オーバーライドされます。 指定した DateTime オブジェクトの年間積算日を返します。
パブリック メソッド GetDaysInMonth オーバーロードされます。 指定した年と時代 (年号) の指定した月の日数を返します。
パブリック メソッド GetDaysInYear オーバーロードされます。 指定した時代 (年号) の指定した年の日数を返します。
パブリック メソッド GetEra オーバーライドされます。 指定した DateTime オブジェクトの時代 (年号) を返します。
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetHour  指定した DateTime の時間の値を返します。 (Calendar から継承されます。)
パブリック メソッド GetLeapMonth オーバーロードされます。 指定された年と時代 (年号) の閏月を返します。
パブリック メソッド GetMilliseconds  指定した DateTime のミリ秒の値を返します。 (Calendar から継承されます。)
パブリック メソッド GetMinute  指定した DateTime の分の値を返します。 (Calendar から継承されます。)
パブリック メソッド GetMonth オーバーライドされます。 指定した DateTime オブジェクトの月を返します。
パブリック メソッド GetMonthsInYear オーバーロードされます。 指定した時代 (年号) の指定した年の月数を返します。
パブリック メソッド GetSecond  指定した DateTime の秒の値を返します。 (Calendar から継承されます。)
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド GetWeekOfYear  指定した DateTime の日付を含むその年の週を返します。 (Calendar から継承されます。)
パブリック メソッド GetYear オーバーライドされます。 指定した DateTime オブジェクトの年を返します。
パブリック メソッド IsLeapDay オーバーロードされます。 指定した日付が閏日かどうかを確認します。
パブリック メソッド IsLeapMonth オーバーロードされます。 指定した年と時代 (年号) の指定した月が閏月かどうかを確認します。
パブリック メソッド IsLeapYear オーバーロードされます。 指定した時代 (年号) の指定した年が閏年かどうかを確認します。
パブリック メソッド ReadOnly  指定された Calendar オブジェクトの読み取り専用バージョンを返します。 (Calendar から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToDateTime オーバーロードされます。 指定した日付、時刻、および時代 (年号) に設定された DateTime オブジェクトを返します。
パブリック メソッド ToFourDigitYear オーバーライドされます。 指定した年を 4 桁表記の年に変換します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

PersianCalendar クラス
System.Globalization 名前空間
Calendar クラス
CultureInfo.Calendar プロパティ
CultureInfo.OptionalCalendars プロパティ



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「PersianCalendar」の関連用語

PersianCalendarのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PersianCalendarのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS