Core Foundation   >   CFAbsoluteTimeGetDifferenceAsGregorianUnits(_:_:_:_:)
関数
CFAbsoluteTimeGetDifferenceAsGregorian
Units(_:_:_:_:)
指定された 2 つの絶対時間の時間差を計算し、その結果をグレゴリオ暦単位で間隔として返します。
宣言
パラメータ
at1 | 絶対時間。 |
at2 | 絶対時間。 |
tz | 時刻修正に使用するタイムゾーン。GMT の場合 NULL を渡して下さい。 |
unitFlags | 絶対時間差をグレゴリオ暦の間隔に変換するときに使用するグレゴリオ暦の単位フィールドを指定するマスク。マスクを構成する値のリストについては、CFGregorianUnitFlags を参照してください。 |
戻り値
指定された絶対時間の差 (at1 - at2 で示され、at1 が at2 より早い場合、結果は負) は、unitFlags で指定された単位で表されます。
議論
時間差は、指定された単位を考慮して、可能な限り正確に表現されます。たとえば、2005 年 4 月 8 日午後 2 時半と 2005 年 9 月 9 日午後 5 時 45 分の間の月と時間の数を求めた場合、結果は 5 か月と 27 時間になります。
以下の例では、現在の時刻 (now) と基準日 (2001 年 1 月 1 日 00:00:00 GMT) の間の時間と分を表示します。
リスト 1
CFAbsoluteTime now = CFAbsoluteTimeGetCurrent (); CFGregorianUnits units = CFAbsoluteTimeGetDifferenceAsGregorianUnits (now, 0, NULL, (kCFGregorianUnitsHours | kCFGregorianUnitsMinutes)); CFStringRef output = CFStringCreateWithFormat (NULL, 0, CFSTR("hours: %d; minutes: %d"), units.hours, units.minutes); CFShow(output);