2009-09-15 21 views
10

Kullanıcının, geçerli tarihi (kullanıcının uygulamayı kullandığı tarih) geçtikten sonra 30 günden fazla olmayan bir tarih girmesi gereken bir başvurumuz vardır. Bu bir Flash uygulamasıdır, bu nedenle şu anki tarihe 30 gün ekleme ve doğru tarihi alma yoluna ihtiyacım var. JavaScript gibi bir şey:ActionScript'te tarihe gün ekleyin

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

Veya C#:

DateTime.Now.Add(30); 

ActionScript'te böyle bir şey var mı?

cevap

27

, bunu yapıyor kadar kolaydır: Gerekirse

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 

Bu hatta ay artırır ve yıl da. Bunu ay ve yıl özellikleriyle de yapabilirsiniz. tarih gün ışığı tasarrufu değişim karşısında ise çalışmaz doğrudan milisaniye ekleme

+1

Bu harika! Bunun sadece AS3'te çalıştığını vurgulamak istiyorum –

+1

Bu doğrudur. Ay özelliğinin 0 temel olduğunu unutmayın. Yani Ocak ayı 0 ve Aralık ay 11'dir. –

1

Kodumu derim olmadan, derlemeden yazıyorum ama getTime() kullanıyorum. gibi bir şey:

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

1000 * 60 * 60 * 24 * 30 = milisaniye * saniye * dakika * saatleri günlük

mantıklı *?

3

Benim TimeSpan class (o .NET System.TimeSpan bir liman var) burada yararlı olabileceğini: Önerim

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

sayesinde diğer örnekler sadece günler ekleyen ancak ay artmamıştır. – Mark

5

burada görünmesini: How can you save time by using the built in Date class?.

Böyle bir şey olmalıdır: diğer cevaplar im emin durumda da çalışır

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

date.date - Özellikler büyük/küçük harfe duyarlıdır. – Virusescu

+0

Doğru, Kodu güncelledim. Hiçbir zaman actioncript adlandırma kuralını beğenmedim;) –

2

@Zerata

...

Ancak, doğrudan saniye ekleyebilirsiniz:

var tarihini: Tarih = yeni tarih(); date.seconds + = 86400; => Bu, tarihler DLS değişimlerinde olsa bile çalışır.

Maurice