init?(identifier: NSCalendar.Identifier)
init?(calendarIdentifier : NSCalendar.Identifier)
struct NSCalendar.Identifier
Availability 有効性
Technology
class NSCalendar : NSObject
NSCalendar
objects encapsulate information about systems of reckoning time in which the beginning, length, and divisions of a year are defined. They provide information about the calendar and support for calendrical computations such as determining the range of a given calendrical unit and adding units to a given absolute time.
NSCalendar
オブジェクトは、ある年の始まり、長さ、そしていくつかの区分が定義されるさまざまな刻時体系についての情報をカプセル化します。それらは、カレンダーについての情報を提供して、カレンダーに関する計算、例えば与えられたカレンダー的単位の特定や与えられた絶対時間への単位の追加などをサポートします。
NSCalendar
is toll-free bridged with its Core Foundation counterpart, CFCalendar
. See Toll-Free Bridging for more information on toll-free bridging.
NSCalendar
は、それのCore Foundation相当物、CFCalendar
とトールフリーブリッジされます。トールフリーブリッジに関する更なる情報としてToll-Free Bridgingを見てください。
Important 重要
The Swift overlay to the Foundation framework provides the Calendar
structure, which bridges to the NSCalendar
class. For more information about value types, see Working with Cocoa Frameworks in Using Swift with Cocoa and Objective-C (Swift 4.1).
FoundationフレームワークへのSwiftオーバーレイは、Calendar
構造体を提供します、それはNSCalendar
クラスにブリッジします。値型についてのさらなる情報として、Working with Cocoa FrameworksをUsing Swift with Cocoa and Objective-C (Swift 4.1)で見てください。
Most locales use the most widely used civil calendar, called the Gregorian calendar (gregorian
), but there remain exceptions to this trend. For example:
ほとんどのロケールは、グレゴリオ暦(gregorian
)と呼ばれる、最も広く使われる常用暦をつかいます、しかしこの大勢に対する例外が残っています。例えば:
In Saudi Arabia, some locales use primarily the Islamic Umm al-Qura calendar (islamic
).
サウジアラビアでは、いくつかのロケールは主としてイスラムのウンム・アル=クラーカレンダー(islamic
)を使います。
In Ethiopia, some locales use primarily the Ethiopian calendar (ethiopic
or ethiopic
).
エチオピアでは、いくつかのロケールは主としてエチオピア暦(ethiopic
またはethiopic
)を使います。
In Iran and Afghanistan, some locales use primarily the Persian calendar (persian
).
イランとアフガニスタンでは、いくつかのロケールは主としてペルシア暦(persian
)を使います。
In Thailand, some locales use primarily the Buddhist calendar (buddhist
).
タイでは、いくつかのロケールは主として仏暦(buddhist
)を使います。
Other locales use another calendar alongside the Gregorian calendar. For example: 他のロケールでは、グレゴリオ暦と並行して別のカレンダーを使います。例えば:
India also uses the Indian national calendar (indian
).
インドはまたインド国定暦(indian
)を使います。
Israel also uses the Hebrew calendar (hebrew
).
イスラエルはまたユダヤ暦(hebrew
)を使います。
China mainland and other regions also use the Chinese calendar (chinese
), primarily to calculate astronomical date and Chinese traditional holidays.
中国大陸および他の地域はまた、中国暦(chinese
)を使います、主として天文日付と中国伝統休日を計算するために。
Japan also uses the Japanese calendar (japanese
), primarily to add year names.
日本はまた、主として年名を加える、日本暦(japanese
)を使います。
Independent of any particular locale, certain calendars are used primarily to calculate dates for religious observances. Among these are the Buddhist (buddhist
), Coptic (coptic
), Hebrew (hebrew
), and Islamic (islamic
) calendars.
何らかの個別のロケールから独立して、特定のカレンダーは宗教儀式についての日付を計算するために主として使われます。それらには仏暦(buddhist
)、コプト暦(coptic
)、ユダヤ暦(hebrew
)、そしてイスラム暦(islamic
)があります。
The Gregorian calendar was first introduced in 1582, as a replacement for the Julian Calendar. According to the Julian calendar, a leap day is added to February for any year with a number divisible by 4, which results in an annual disparity of 11 minutes, or 1 day every 128 years. The Gregorian calendar revised the rules for leap day calculation, by skipping the leap day for any year with a number divisible by 100, unless that year number is also divisible by 400, resulting in an annual disparity of only 26 seconds, or 1 day every 3323 years. グレゴリオ暦は、ユリウス暦の代わりとして1582年に最初に導入されました。ユリウス暦によれば、閏日は4で割り切れる数でのあらゆる年の2月に加えられます、それは1年に11分、または128年ごとに1日の差異という結果になります。グレゴリオ暦は、100で割り切れる数でのあらゆる年に対して、その年数がまた400で割り切れる場合を除いて閏日をスキップすることによって、閏日計算の規則を改訂しました、1年に26秒、または3323年ごとに1日の差異という結果になります。
To transition from the Julian calendar to the Gregorian calendar, 10 days were dropped from the Gregorian calendar (October 5–14). ユリウス暦からグレゴリオ暦への移行には、10日間がグレゴリオ暦から失われました(10月5-14日)。
After the Gregorian calendar was introduced, many regions continued to use the Julian calendar, with Turkey being the last country or region to adopt the Gregorian calendar, in 1926. As a result of the staggered adoption, the transition period for regions at the time of adoption have different start dates and a different number of skipped days to account for the additional disparity from leap day calculations. グレゴリオ暦が導入された後、多くの地域がユリウス暦の使用を続けました、1926年に、グレゴリオ暦を採用する最後の国または地域であるトルコを含めて。採用がずれた結果として、さまざまな地域の移行期はその採用時で、異なる開始日および異なる飛ばされる日数を持ち、閏日計算由来の追加の相違の原因となります。
NSCalendar
models the behavior of a proleptic Gregorian calendar (as defined by ISO 8601:2004), which extends the Gregorian calendar backward in time from the date of its introduction. This behavior should be taken into account when working with dates created before the transition period of the affected locales.
NSCalendar
は、先発グレゴリオ暦の挙動をモデル化します(ISO 8601:2004によって定義されるように)、それはグレゴリオ暦をそれの導入の日付から時間をさかのぼって延長します。この挙動は、影響を受けるロケールの移行期の前に作成された日付を扱う場合に考慮されるべきです。
To do calendar arithmetic, you use NSDate
objects in conjunction with a calendar. For example, to convert between a decomposed date in one calendar and another calendar, you must first convert the decomposed elements into a date using the first calendar, then decompose it using the second. NSDate
provides the absolute scale and epoch (reference point) for dates and times, which can then be rendered into a particular calendar, for calendrical computations or user display.
カレンダー算術を行うには、あなたはNSDate
オブジェクトをカレンダーと共同して使います。例えば、あるカレンダーの中の分解された日付と別のカレンダーの間で変換するには、あなたはまず分解された要素をある日付へと最初のカレンダーを使って変換して、それからそれを2番目のものを使って分解しなければなりません。NSDate
は、カレンダーに関する計算またはユーザ表示のために、絶対尺度および元期(基準点)を日付と時刻に提供します、それはそれゆえ特定のカレンダーの中へと描画できます。
Two NSCalendar
methods that return a date object, date(from:)
, date(by
, take as a parameter an NSDate
object that describes the calendrical components required for the computation. You can provide as many components as you need (or choose to). When there is incomplete information to compute an absolute time, default values similar to 0
and 1
are usually chosen by a calendar, but this is a calendar-specific choice. If you provide inconsistent information, calendar-specific disambiguation is performed (which may involve ignoring one or more of the parameters). Related methods (components(_:
and components(_:
) take a bit mask parameter that specifies which components to calculate when returning an NSDate
object. The bit mask is composed of NSCalendar
constants (see Constants
).
日付オブジェクトを返す2つのNSCalendar
メソッド、date(from:)
、date(by
は、パラメータとしてNSDate
オブジェクトをとります、それは計算に必要とされるカレンダー関連構成要素を記述します。あなたは、あなたが必要とする(または望む)だけの構成要素を提供できます。絶対時間を計算するのに不完全な情報がある場合、0
と1
に似た省略時の値が普通はカレンダーによって選ばれます、しかしこれはカレンダー特有の選択です。あなたが一貫性のない情報を提供するならば、カレンダー特有の曖昧さ回避が実行されます(それはひとつ以上のパラメータを無視することを伴うかもしれません)。関連メソッド(components(_:
とcomponents(_:
)は、ビットマスクパラメータをとります、それはどの構成要素が計算されるかをNSDate
オブジェクトを返す時に指定します。ビットマスクは、NSCalendar
定数からなります(Constants
を見てください)。
In a calendar, day, week, weekday, month, and year numbers are generally 1-based, but there may be calendar-specific exceptions. Ordinal numbers, where they occur, are 1-based. Some calendars represented by this API may have to map their basic unit concepts into year/month/week/day/… nomenclature. For example, a calendar composed of 4 quarters in a year instead of 12 months uses the month unit to represent quarters. The particular values of the unit are defined by each calendar, and are not necessarily consistent with values for that unit in another calendar. カレンダーにおいて、日、週、曜日、月、そして年数は、一般的に1起点です、しかしカレンダー特有の例外があるかもしれません。順序数は、それらが起こるところは、1起点です。このAPIによって表されるいくつかのカレンダーは、それらの基礎単位概念をyear/month/week/day/… 用語体系と関連付けなければなりません。例えば、12の月の代わりに1年に4つの4半期からなるカレンダーは、月単位を使ってそれら4半期を表します。単位の特定の値は、各カレンダーによって定義されます、そして必ずしも別のカレンダーにおけるその単位の値からなるわけではありません。
init?(identifier: NSCalendar.Identifier)
init?(calendarIdentifier : NSCalendar.Identifier)
struct NSCalendar.Identifier
class var current: Calendar
class var autoupdatingCurrent : Calendar
func date(Date, matchesComponents : DateComponents) -> Bool
func component(NSCalendar.Unit, from: Date) -> Int
func components(NSCalendar.Unit, from: Date) -> DateComponents
func components(NSCalendar.Unit, from: Date, to: Date, options: NSCalendar.Options) -> DateComponents
func components(NSCalendar.Unit, from: DateComponents, to: DateComponents, options: NSCalendar.Options) -> DateComponents
func components(in: TimeZone, from: Date) -> DateComponents
func getEra (UnsafeMutablePointer<Int>?, year: UnsafeMutablePointer<Int>?, month: UnsafeMutablePointer<Int>?, day: UnsafeMutablePointer<Int>?, from: Date)
func getEra (UnsafeMutablePointer<Int>?, yearForWeekOfYear : UnsafeMutablePointer<Int>?, weekOfYear : UnsafeMutablePointer<Int>?, weekday: UnsafeMutablePointer<Int>?, from: Date)
func getHour (UnsafeMutablePointer<Int>?, minute: UnsafeMutablePointer<Int>?, second: UnsafeMutablePointer<Int>?, nanosecond: UnsafeMutablePointer<Int>?, from: Date)
var calendarIdentifier : NSCalendar.Identifier
var firstWeekday : Int
var locale: Locale?
var timeZone : TimeZone
func maximumRange (of: NSCalendar.Unit) -> NSRange
func minimumRange (of: NSCalendar.Unit) -> NSRange
var minimumDaysInFirstWeek : Int
func ordinality(of: NSCalendar.Unit, in: NSCalendar.Unit, for: Date) -> Int
func range(of: NSCalendar.Unit, in: NSCalendar.Unit, for: Date) -> NSRange
func range(of: NSCalendar.Unit, start: AutoreleasingUnsafeMutablePointer<NSDate?>?, interval: UnsafeMutablePointer<TimeInterval>?, for: Date) -> Bool
func range(ofWeekendStart : AutoreleasingUnsafeMutablePointer<NSDate?>?, interval: UnsafeMutablePointer<TimeInterval>?, containing: Date) -> Bool
struct NSCalendar.Unit
func startOfDay (for: Date) -> Date
func enumerateDates (startingAfter : Date, matching: DateComponents, options: NSCalendar.Options, using: (Date?, Bool, UnsafeMutablePointer<ObjCBool>) -> Void)
func nextDate (after: Date, matching: DateComponents, options: NSCalendar.Options) -> Date?
func nextDate (after: Date, matchingHour : Int, minute: Int, second: Int, options: NSCalendar.Options) -> Date?
func nextDate (after: Date, matching: NSCalendar.Unit, value: Int, options: NSCalendar.Options) -> Date?
struct NSCalendar.Options
func date(from: DateComponents) -> Date?
func date(byAdding : DateComponents, to: Date, options: NSCalendar.Options) -> Date?
func date(byAdding : NSCalendar.Unit, value: Int, to: Date, options: NSCalendar.Options) -> Date?
func date(bySettingHour : Int, minute: Int, second: Int, of: Date, options: NSCalendar.Options) -> Date?
func date(bySettingUnit : NSCalendar.Unit, value: Int, of: Date, options: NSCalendar.Options) -> Date?
func date(era: Int, year: Int, month: Int, day: Int, hour: Int, minute: Int, second: Int, nanosecond: Int) -> Date?
func date(era: Int, yearForWeekOfYear : Int, weekOfYear : Int, weekday: Int, hour: Int, minute: Int, second: Int, nanosecond: Int) -> Date?
func nextWeekendStart (AutoreleasingUnsafeMutablePointer<NSDate?>?, interval: UnsafeMutablePointer<TimeInterval>?, options: NSCalendar.Options, after: Date) -> Bool
func compare(Date, to: Date, toUnitGranularity : NSCalendar.Unit) -> ComparisonResult
func isDate (Date, equalTo : Date, toUnitGranularity : NSCalendar.Unit) -> Bool
func isDate (Date, inSameDayAs : Date) -> Bool
func isDateInToday (Date) -> Bool
func isDateInTomorrow (Date) -> Bool
func isDateInWeekend (Date) -> Bool
func isDateInYesterday (Date) -> Bool
var amSymbol : String
var pmSymbol : String
var weekdaySymbols : [String]
var shortWeekdaySymbols : [String]
var veryShortWeekdaySymbols : [String]
var standaloneWeekdaySymbols : [String]
var shortStandaloneWeekdaySymbols : [String]
var veryShortStandaloneWeekdaySymbols : [String]
var monthSymbols : [String]
var shortMonthSymbols : [String]
var veryShortMonthSymbols : [String]
var standaloneMonthSymbols : [String]
var shortStandaloneMonthSymbols : [String]
var veryShortStandaloneMonthSymbols : [String]
var quarterSymbols : [String]
var shortQuarterSymbols : [String]
var standaloneQuarterSymbols : [String]
var shortStandaloneQuarterSymbols : [String]
var eraSymbols : [String]
var longEraSymbols : [String]
static let NSCalendarDayChanged : NSNotification.Name
typealias Calendar.ReferenceType