数据库
首页 > 数据库> > 从MySQL UTC时间戳字符串创建ActionScript Date对象

从MySQL UTC时间戳字符串创建ActionScript Date对象

作者:互联网

我将Date存储在MySQL表的datetime列中.我正在通过调用MySql’s UTC_CURRENTDATE插入当前日期.当我检索它时,它采用以下字符串格式:“ 2012-07-24 12:59:58”

当我尝试通过执行以下操作在Action Script中创建Date对象时:

var dateNum:Number = Date.parse(createDate); // this gives me NaN
var createDate:Date = new Date(dateNum);

Date.parse(“ 2012-07-24 12:59:58”)给出NaN

解决方案:按照Jason的建议,我正在执行以下操作:

选择一个UNIX_TIMESTAMP(CREATE_DATE),它返回的时间是自1970年1月1日00:00:00 UTC以来的秒.然后在Actionscript中执行以下操作:

var createDate:Date = new Date();
var offset:Number = createDate.getTimezoneOffset() * 60 * 1000; 
createDate.time = parseInt("1343174921") * 1000 - offset;

这给了我正确的约会.

解决方法:

尽管我敢肯定有一种更优雅的方法;显然,您可以实现一个解析函数,例如:

public static function parse(date:String):Date
{
    var split:Array = date.split(" ");
    var splitDate:Array = split[0].split("-");
    var splitTime:Array = split[1].split(":");

    return new Date(splitDate[0],
                    splitDate[1] - 1,
                    splitDate[2],
                    splitTime[0],
                    splitTime[1],
                    splitTime[2]);
}

称为:

var date:Date = parse("2012-07-24 12:59:58");

您的SQL语句可以处理时间戳,而不是处理MySQL DATETIME,而是将其转换为时间戳,ActionScript Date构造函数可以接受自纪元以来的毫秒数.

诸如CASA Lib之类的框架具有不错的date实用程序功能.

标签:mysql,actionscript-3
来源: https://codeday.me/bug/20191012/1896700.html