0

1) 終了日が開始日以上であること、および 2) 2 つの UTC 日付の差が 12 か月以内であることを検証する必要があります。これを行うには、次のmonthDifference関数が必要です。

public static function monthDifference(start:Date, end:Date):int;

部分的な月は混乱を招く可能性があるため、月の違いは次のように機能するはずです。

  • 2010 年 1 月 1 日と 2010 年 1 月 31 日の月の差はゼロ(0)です。
  • 2010 年 1 月 31 日と 2010 年 2 月 1 日の月差は 1です
  • 2010 年 1 月 1 日と 2010 年 2 月 28 日の月差は 1です
  • 2010 年 1 月 1 日と 2010 年 3 月 1 日の月差は 2です

ActionScript 3.0 で月差を計算するにはどうすればよいですか?

4

3 に答える 3

1

ここにリストされているかなり堅実なものがあります。作者の名前が見つかりませんでした。udayms はブログのユーザー名です。

彼のクラスから引き出された:

private static function getMonths(date1:Date,date2:Date):Number{
  var yearDiff = getYears(date1,date2);
  var monthDiff = date1.getMonth() - date2.getMonth();
  if(monthDiff < 0){
    monthDiff += 12;
  }
  if(date1.getDate()< date2.getDate()){
    monthDiff -=1;
  }
  return 12 *yearDiff + monthDiff;
}
于 2011-02-16T15:50:03.143 に答える
1

これが私が思いついたものです...

public static function monthDifference(start:Date, end:Date):int {
    return (end.getUTCFullYear() - start.getUTCFullYear()) * 12 + 
        (end.getUTCMonth() - start.getUTCMonth());
} 

エラーがあれば教えてください!

于 2011-02-16T15:55:51.790 に答える