【问题标题】:Add days to Date in ActionScript在 ActionScript 中将日期添加到日期
【发布时间】:2010-11-28 09:09:21
【问题描述】:

我们有一个应用程序,用户必须输入一个日期,该日期的值不超过当前日期(用户使用应用程序的日期)之后的 30 天。这是一个 Flash 应用程序,因此我需要一种将 30 天添加到当前日期并获得正确日期的方法。类似于 JavaScript:

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

或者在 C# 中:

DateTime.Now.Add(30);

ActionScript 中有这样的东西吗?

【问题讨论】:

    标签: actionscript-3 actionscript


    【解决方案1】:

    @Zerata

    如果日期跨夏令时更改,则直接添加毫秒将不起作用...

    但是,您可以直接添加秒数:

    var date: Date = new Date(); 日期.秒 += 86400; => 即使日期跨 DLS 更改,这仍然有效。

    莫里斯

    【讨论】:

      【解决方案2】:

      虽然其他答案肯定会起作用,但它就像做一样简单:

      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
      

      如有必要,这甚至会增加月份和年份。您也可以使用月份和年份属性来执行此操作。

      【讨论】:

      • 太好了!我只是想强调一下,这只适用于 AS3
      • 确实如此。还要记住,月份属性是基于 0 的。所以一月是第 0 个月,十二月是第 11 个月。
      【解决方案3】:

      我建议你看这里:How can you save time by using the built in Date class?

      应该是这样的:

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

      【讨论】:

      • date.date - 属性区分大小写。
      • 正确,我已经更新了代码。我从不喜欢 actionscript 命名约定 ;)
      【解决方案4】:

      我的TimeSpan class 在这里可能很有用(它是 .NET System.TimeSpan 的一个端口):

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

      【讨论】:

      • 谢谢,其他例子只是增加了天数,但没有增加月数。
      【解决方案5】:

      我正在从头顶编写代码,没有编译它,但我会使用 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 = 毫秒 * 秒 * 分钟 * 小时 * 天

      有道理吗?

      【讨论】:

        猜你喜欢
        • 2011-10-15
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 2010-10-08
        • 1970-01-01
        • 2012-08-18
        相关资源
        最近更新 更多