ActionScript中的TimeDelta类?

时间:2009-05-21 20:09:51

标签: actionscript-3

是否有任何表示“持续时间”的ActionScript类,类似于Python中的TimeDelta类?

修改:感谢您的回复。不过我应该澄清一点:我希望能够提出诸如“在date0和date1之间有多少周”或“让x代表”一天“之类的问题。什么是date2 + x?”< / p>

我知道我可以通过将日期表示为时间戳来完成所有这些......但我希望能找到更好的东西。

4 个答案:

答案 0 :(得分:1)

您可以在Date类中使用time()来获取unix era毫秒,并将其用于时间增量。

答案 1 :(得分:1)

如果你减去两个日期:

var dateDiff = date1 - date2;

dateDiff将保存两个日期之间的毫秒数。然后,您可以将毫秒转换为您喜欢的任何有用数字。

答案 2 :(得分:1)

我不认为有一个类可以测量Actionscript 3中的时间变化。根据Adventures in Actionscript上的这篇博客文章,网络上的Flash播放器中的时间非常不准确。这篇文章非常有用,并且有一个名为SuperTimer的课程可能对你有帮助。如果使用Justin Niessner和toastie提出的解决方案,您可能想要记住这种不准确性。

答案 3 :(得分:1)

我在this question上发布了.NET TimeSpan类的完整AS3端口,听起来与您需要的完全相同。

// 5 days from new
var ts : TimeSpan = TimeSpan.fromDays(5);
var now : Date = new Date();
var fiveDaysTime : Date = ts.add(now);

// Diff between dates
var d1 : Date = new Date(2009, 1, 1);
var d2 : Date = new Date(2009, 1, 6);
var ts : TimeSpan = TimeSpan.fromDates(d1, d2);