Q;以YYYY-MM-DD HH:MM:SS格式确定日期

时间:2010-02-08 03:32:18

标签: actionscript-3 date

我需要能够从当前日期减去2小时,8小时,1天和1周。

然后转换为yyy-mm-dd hh:mm:ss格式。

到目前为止,我一直没有成功。

在actionscript中执行此操作的正确方法是什么?

3 个答案:

答案 0 :(得分:1)

这里有一些选项,但我认为在您的情况下最简单的解决方案是使用毫秒。您可以使用+ =和 - =来修改日期的当前毫秒值。最棘手的是将值转换为毫秒。以下是一些例子:

var myDate:Date; //assuming this is a actual date value.

//subtract 2 hrs
var twoHoursInMilliseconds:int = 2 * 60 * 60 * 1000; //2 hours * 60 minutes * 60 seconds * 1000 milliseconds (in a second)
myDate.milliseconds -= twoHoursInMilliseconds;

//subtract 1 day
var oneDayInMilliseconds:int = 1 *24 * 60 * 60 * 1000;
myDate.milliseconds -= oneDayInMilliseconds;

对于格式化,您需要使用以下方法:

trace(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());

希望这能指明你正确的方向,

快乐的编码!

编辑:更新了修复错误的代码。

答案 1 :(得分:0)

我同意Tyler以毫秒为单位处理日期的方法。 对于转换,您可能还希望使用DateFormatter,如下所示。

var dateFormatter:DateFormatter = new DateFormatter(); dateFormatter.formatString ='yyy-mm-dd hh:mm:ss'; var formattedDate:String = dateFormatter.format(d); 迹(formattedDate);

愿望, 发亮的。

答案 2 :(得分:0)

只需更改日期/小时的UTC值。

var d:Date = new Date();
d.dateUTC -= 1; //subtract one day
d.hoursUTC -= 1; //subtract one hour

然后使用Tyler的trace语句跟踪输出。

trace(d.getFullYear(), d.getMonth(), d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds());

有关Date类的更多信息,请查看http://help.adobe.com/en_US/AS3LCR/Flash_10.0/Date.html