2009-08-06 5 views

答えて

0

ココアの時間間隔の計算を処理する方法がNSDateComponentsです。ドキュメントはCalendrical Calculationsでこの井戸をカバーしています。このようにすると、日付計算に悩まされることがある夏時間の問題のほとんどが処理され、これらの異なるすべてのユニットの定数を持つ必要性を取り除く必要があります。それでも必要な場合は、NSCalendarにお問い合わせください。例:

NSRange r = [[NSCalendar currentCalendar] rangeOfUnit:NSSecondCalendarUnit 
              inUnit:NSYearCalendarUnit 
              forDate:[NSDate date]]; 
NSUInteger secondsInThisYear = r.length; // Does not include leap seconds 
0

これは1ヶ月の12分の1秒で、正確には1ヶ月ではありません。なぜなら、異なる月が異なる長さであるからです。あなたのアプリケーションに問題が起こるでしょうか?

+0

過去70年間で約2時間という誤差がない限り、私は良いです。 – willc2

1

もちろん、それはleap second yearである場合を除き、1日に86400秒あります。この場合、1日に86401秒があります。 2008年はそのような年でした。

1年に31556926秒があります(ただし、閏年でない場合は1秒追加します)。うるう年の場合は、1日分の秒を追加します。

6足のアラビア語で指摘されているように、1ヶ月の秒数は28,29,30または31日の月によって異なります。

これを考えると、Cocoaは次のような定数を定義することはあまりありませんが、私は間違いかもしれません。

    年の
  • 秒月に
  • 秒日に
関連する問題