2009-09-15 16 views
10

ユーザーは、現在の日付(ユーザーがアプリケーションを使用した日付)から30日以内の日付を入力する必要があるアプリケーションがあります。これはFlashアプリケーションなので、現在の日付に30日を追加し、正しい日付を取得する方法が必要です。 JavaScriptで何かのように:ActionScriptで日付を日付に追加する

myDate.setDate(myDate.getDate()+30); 

またはC#で:

DateTime.Now.Add(30); 

は、ActionScriptのようなものはありますか?

答えて

27

他の回答は、イム必ず動作しますが、それはやってするのと同じくらい簡単です。必要であれば、これはさえヶ月増加します

var dte:Date = new Date(); 
dte.date += 30; 
//the date property is the day of the month, so on Sept. 15 2009 it will be 15 

と年も同様です。これは月と年のプロパティでも行うことができます。日付は日ライトセービングの変更を越えている場合は動作しません直接ミリ秒を追加

+1

それは素晴らしいです!私はちょうどAS3で動作することを強調したいと思う –

+1

それは本当です。 monthプロパティは0ベースであることにも注意してください。したがって、1月は0月、12月は11月です。 –

1

コンパイルせずに頭の上からコードを書いていますが、getTime()を使用します。以下のような何か:

var today : Date = new Date(); 
var futureDate : Date = new Date(); 
futureDate.setTime(today.getTime() + (1000 * 60 * 60 * 24 * 30)); 

1000年* 60 * 60 * 24 * 30 =ミリ秒*秒*分*時間*日

理にかなって?

3

マイTimeSpan classが(それは.NETのSystem.TimeSpanのポートです)、ここで有用であることが証明されることがあります

var now : Date = new Date(); 
var threeDaysTime : Date = TimeSpan.fromDays(3).add(now); 
+0

おかげで、他の例で追加した日が、月に増加しませんでした。 – Mark

5

私はあなたがここを見ていることを示唆:How can you save time by using the built in Date class?

それはこのようなものでなければなりません:

var date:Date = new Date(); 
date.setDate(date.date + 30); 
+1

date.date - プロパティは大文字と小文字が区別されます。 – Virusescu

+0

正解、私はコードを更新しました。 私はactionscript命名規則が好きではありませんでした;) –

2

@Zerata

...

しかし、あなたは直接秒を追加することができます。

VAR日:日付=新しいDate(); date.seconds + = 86400; =>これは、日付がDLSの変更を超えていても機能します。

モーリス

関連する問題