2010-06-23 23 views

cevap

9

Bunun için tarihi kurucu kullanabilirsiniz ekleyebilir. Date'nin yapıcısına yapılan ilk argüman bir yılı veya bir zaman damgasını alır. Bir tarih nesnesinden zaman damgasını almak için Date.time özelliğini kullanabilirsiniz. Zaman damgasını aldıktan sonra, bir kaç saniyelik bir sayı ekleyebilir/çıkarabilir ve ardından new Date(timestamp)'a geçirebilir ve yeni zaman damgasını temsil eden yeni bir tarih alabilirsiniz.

Edit; Bir yorum yazıcının belirttiği gibi, zaman manipülasyonu gitmek için en iyi yol olmayabilir. aşağıdaki gibi Ama yine tarihi yapıcısını kullanabilirsiniz:

var now:Date = new Date(); 
var threeMonthsAgo = new Date(now.fullYear, 
           now.month - 3, 
           now.date, 
           now.hour, 
           now.minute, 
           now.second, 
           now.millisecond); 

Tarih yapıcı negatif değerleri ile başa çıkmak için yeterince akıllı, ya daha büyük 11.

+0

Tarih matematik çok daha karmaşık secon dönüştürmek daha ds ve ekleme/çıkarma. Günde, günlerde, günlerde, zaman dilimlerinde ve bazen farklı bağlamlarda hesaba katılmanız gerekir. –

+0

Evet, ancak bu durumda ay bu kadar zor değil. – splash

+0

Ay bile olsa, zor olabilir :) 2 - 1 = 2, tarih ve tarihte matematik işlemleri yaparken ActionScript http://www.jabbypanda.com/blog/2011/09/when-2- 1-zaman-yapıyor-matematik-operasyonlar-ile-tarihleri-in-actionscript – JabbyPanda

0

Yerleşik Tarih aritmetiği olduğuna inanmıyorum. official adobe documentation for the Date class bile, kullanıldığında tarihi matematiği sıfırdan oluşturur.

Yukarıdaki bağlantıya bir bakın. Belge, istediğiniz bir şeyi yapmak için statik yöntemlerle bir DateMath sınıfı oluşturur. Buna göre, neden yapmadıklarının standartın bir parçası olduğundan emin değilim, ama işte böyle. Onu kopyalayıp oradan genişletmeyi öneririm.

3

DateUtils açık kaynak kitaplığını deneyin.

Flextras Takvim'de kapsamlı olarak kullanıyorum ve harika çalışıyor. Eminim bir DateAdd yöntemi vardır. 3 ay önce bir tarih almak için, sadece negatif 3.

http://flexdateutils.riaforge.org/

0

kullanın geliyor seviyorum bu:

var dObj:Date = new Date(); 

DateField_Now.formatString = DateField_LastWeek.formatString = "YYYY-MM-DD"; 

DateField_Now.selectedDate = dObj; 

dObj["date"] += 7; 
DateField_LastWeek.selectedDate = dObj;