Apache flex 在Flex中加载时,SelectedDate未正确设置

Apache flex 在Flex中加载时,SelectedDate未正确设置,apache-flex,Apache Flex,SCinitiationtarget.selectedDate=新建 日期(第1行[i]['InitiationTarget']) 我正在我的日期选择器中设置seletedDate,如下所示。我从数据库得到的格式是2009-12-30 它的显示正确。构造函数的Date的第一个参数称为yearOrTimeValue,正如其文档所述,它接受以UTC毫秒为单位的年或时间。对于正确的日期施工使用: new Date(2009, 12, 30) Date构造函数的第一个参数称为yearOrTimeVal

SCinitiationtarget.selectedDate=新建 日期(第1行[i]['InitiationTarget'])

我正在我的日期选择器中设置seletedDate,如下所示。我从数据库得到的格式是2009-12-30


它的显示正确。

构造函数的
Date
的第一个参数称为
yearOrTimeValue
,正如其文档所述,它接受以UTC毫秒为单位的年或时间。对于正确的
日期
施工使用:

new Date(2009, 12, 30)

Date
构造函数的第一个参数称为
yearOrTimeValue
,正如其文档所述,它接受以UTC毫秒为单位的年或时间。对于正确的
日期
施工使用:

new Date(2009, 12, 30)

我相信date对象无法识别破折号作为有效分隔符。您必须了解如何重新格式化日期对象

例如,这项工作:

var date:Date = new Date("2009/12/30");
myDateChooser.selectedDate = date;
但这并不是:

var date:Date = new Date("2009-12-30");
myDateChooser.selectedDate = date;

有关哪些日期格式有效的更多信息,请参阅此处的文档:

我认为date对象无法识别破折号作为有效分隔符。您必须了解如何重新格式化日期对象

例如,这项工作:

var date:Date = new Date("2009/12/30");
myDateChooser.selectedDate = date;
但这并不是:

var date:Date = new Date("2009-12-30");
myDateChooser.selectedDate = date;

有关哪些日期格式有效的更多信息,请参阅此处的文档:

我终于找到了解决方案

var dateStr:String = dateFormatter.format(rows1[i]['InitiationTarget']);
SCinitiationtarget.selectedDate = new Date(dateStr);

<mx:DateFormatter id="dateFormatter" formatString="MMM D, YYYY"/>
var-dateStr:String=dateFormatter.format(第1行[i]['InitiationTarget']);
SCinitiationtarget.selectedDate=新日期(dateStr);

这样问题就解决了

我终于找到了解决办法

var dateStr:String = dateFormatter.format(rows1[i]['InitiationTarget']);
SCinitiationtarget.selectedDate = new Date(dateStr);

<mx:DateFormatter id="dateFormatter" formatString="MMM D, YYYY"/>
var-dateStr:String=dateFormatter.format(第1行[i]['InitiationTarget']);
SCinitiationtarget.selectedDate=新日期(dateStr);
这样问题就解决了

为什么不使用
Date
类的方法

SCinitiationtarget.selectedDate = Date.parse(rows1[i]['InitiationTarget']);
为什么不使用
Date
类的方法呢

SCinitiationtarget.selectedDate = Date.parse(rows1[i]['InitiationTarget']);

行s1[i]['InitiationTarget']是否跟踪为预期值?它的数据类型是什么?Date是数据类型集,当我跟踪时,我得到的是2009-12-30,但显示不正确。我的SCinitiationtarget是一个日期选择器吗?您的帖子不清楚。行1[i]['InitiationTarget']是否作为预期值跟踪?它的数据类型是什么?Date是数据类型集,当我跟踪时,我得到的是2009-12-30,但显示不正确。我的SCinitiationtarget是一个日期选择器吗?你的帖子不清楚。这不完全准确。从文档中:如果您传递一个数据类型为String的参数,并且该字符串包含有效日期,则date对象包含基于该日期的时间值。您是对的。我只是阅读了第一个参数的文档,它没有提到这个用例。我应该说是糟糕的文档。无论如何,破折号似乎不允许作为分隔符。这并不完全准确。从文档中:如果您传递一个数据类型为String的参数,并且该字符串包含有效日期,则date对象包含基于该日期的时间值。您是对的。我只是阅读了第一个参数的文档,它没有提到这个用例。我应该说是糟糕的文档。无论如何,似乎不允许使用破折号作为分隔符。这就是我正在研究的如何将日期重新格式化为YYYY/MM/DD,因为我从数据库中获得YYYY-MM DDoldDate.split('-').join('/');或旧日期。替换(/-/,“/”);(虽然你想在replace方法中仔细检查我的regex模式)我想这也行得通,尽管把它作为你自己问题的“解决方案”发表有点奇怪,当它建立在对您的问题的其他两个答案的基础上时。这就是我所看到的如何将日期重新格式化为YYYY/MM/DD,因为我从数据库中获得YYYY-MM DDoldDate.split('-').join('/');或旧日期。替换(/-/,“/”);(尽管你想在replace方法中仔细检查我的regex模式)我想这也行得通,尽管当它建立在你问题的其他两个答案的基础上时,把它作为你自己问题的“解决方案”发表有点奇怪。