我在文本字段中从用户那里获取日期输入,格式为 DD/MM/YYYY。如何在 Flex 中将此字符串转换为日期对象。平台:Adobe Flash Builder 4.6
问问题
6204 次
3 回答
3
自 Flex SDK 4.10.0 起,您可以使用
DateFormatter.parseDateString(s, "DD/MM/YYYY");
以前的版本parseDateString
不尊重格式字符串,因此它无法解析使用非默认 en_US 格式格式化的 dateString 值
于 2013-09-09T09:40:21.763 回答
0
使用DateField 的stringToDate 方法。DateFormatter 也有一个parseDateString
功能,但由于某种原因它被设置为受保护。
public function convertStringToDate(s:String):Date
{
return DateField.stringToDate(s, "DD/MM/YYYY");
}
于 2013-09-08T11:36:25.667 回答
0
如果您没有使用最新的 Apache SDK(我知道我们不是因为第三方组件),您基本上必须编写自己的转换。
内置的 DateFormatter 具有静态方法 parseDateString,但您无法指定字符串的格式。有点垃圾!
如果您确定没有本地化问题并且确定日期始终为 DD/MM/YYYY 格式,您可以使用以下内容:
public function stringToDate(date:String):Date {
// Extract year, month and day from passed in date string
var year:int = IntFromSubString(date, 6, 4);
var month:int = IntFromSubString(date, 3, 2);
var day:int = IntFromSubString(date, 0, 2);
// Always remember Flex months start from 0 (Jan=0, Feb=1 etc.) so take 1 off the parsed month
return new Date(year, month-1, day);
}
private static function IntFromSubString(date:String, start:int, length:int):int {
return parseInt(date.substr(start, length)) as int;
}
于 2013-10-08T14:12:40.260 回答