トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     AS3.0のsetMonthがおかしい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ni-co
Åê¹ÆNo.44730
投稿日時: 2010-3-31 19:42
新米
居住地: Tokyo
投稿: 9
使用環境:
mac 10.5
FlashCS4
AS2.0
AS3.0
AS3.0のsetMonthがおかしい
既出かもしれないですが。。。

FlashCS4
AS3
flashplayer10
の書き出しでDate.setMonthの挙動がおかしいのですが、バグなのでしょうか??

setMonth(1)とsetMonth(2)が同じに結果になるんです。

AS2
flashplayer10
では意図した結果になります。


お暇な方試してみてください。

var date:Date=new Date();
var i:Number=0;
for(i;i<12;i++){
	date.setMonth(i);

	trace(date.getMonth()+1);
	}



AS3/flashplayer10出力結果
/////////////////////////////
1
3
3
4
5
6
7
8
9
10
11
12
/////////////////////////////

AS2/flashplayer10出力結果
/////////////////////////////
1
2
3
4
5
6
7
8
9
10
11
12
/////////////////////////////
森 巧尚
Åê¹ÆNo.44731
投稿日時: 2010-3-31 19:57
モデレータ
居住地: 宝塚
投稿: 650
使用環境:
.5/CS4/Safari3
XP+2000//IE6
Re: AS3.0のsetMonthがおかしい
今日(31日)に試したからでしょう。

traceで
trace(date.getMonth()+1+"/"+date.getDate());
としてみると、日付の挙動がわかります。

AS3では、2/31を3/3として扱っているので、結果的にsetMonth(1)とsetMonth(2)が同じ月になるようです。

date.setDate(1);
date.setMonth(i);
と1日を指定してみてください。


----------------
森 巧尚
http://www.ymori.com

ni-co
Åê¹ÆNo.44732
投稿日時: 2010-3-31 20:05
新米
居住地: Tokyo
投稿: 9
使用環境:
mac 10.5
FlashCS4
AS2.0
AS3.0
Re: AS3.0のsetMonthがおかしい
ymoriさん

ありがとうございます。
まったくその通りでした。

試してみました。
AS3:::2/31は無いので繰り上げられる。
AS2:::2/31は無いので末日(28日)に強制的に変更させる。

仕様が変ってたんですね?。

解決なのでスレッド閉めさせて頂きます。
野中文雄
Åê¹ÆNo.44733
投稿日時: 2010-3-31 20:10
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: AS3.0のsetMonthがおかしい
バグか仕様かは微妙ですね。おそらく、明日には直るでしょう。
var date:Date=new Date();
date.setMonth(1);
trace(date.getMonth(), date.getDate());  // 出力: 2 3

2月には31日がないので、3日繰り上がっているようです。Date.monthプロパティを使えば、繰り上がりは起こりません。(テストを誤ったと思われるため、削除)

[追記]: 少し出遅れたようですので、追加情報です。Date.setMonth()メソッドは、第2引数で日を指定できます。
var date:Date=new Date();
date.setMonth(1, 1);
trace(date.getMonth());  // 出力: 1


----------------
 

ni-co
Åê¹ÆNo.44734
投稿日時: 2010-3-31 20:22
新米
居住地: Tokyo
投稿: 9
使用環境:
mac 10.5
FlashCS4
AS2.0
AS3.0
Re: AS3.0のsetMonthがおかしい
ありがとうございます。

setMonth(第一引数,第二引数)
で設定できるんですね。

勉強になりました。

こっそり繰り上げるんじゃなくて、強制的に1日にしてくれた方が親切ですよね?。と思いました^^
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops