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、13172226、または 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 プロパティ


このページでは「.NET Framework クラス ライブラリ リファレンス」からPersianCalendar クラスを検索した結果を表示しています。
Weblioに収録されているすべての辞書からPersianCalendar クラスを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からPersianCalendar クラス を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PersianCalendar クラス」の関連用語

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

   

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



PersianCalendar クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS