Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 要字符串的日期<-&燃气轮机;迄今为止的字符串_Apache Flex_Date - Fatal编程技术网

Apache flex 要字符串的日期<-&燃气轮机;迄今为止的字符串

Apache flex 要字符串的日期<-&燃气轮机;迄今为止的字符串,apache-flex,date,Apache Flex,Date,我得到数据库的日期,我需要将其显示为字符串。 因此,在Flex中,我会这样做: public static function dateToString(cDate:Date):String { return cDate.date.toString()+"."+ cDate.month.toString()+"."+ cDate.fullYear.toString()+" "+ cDate.hours.toSt

我得到数据库的日期,我需要将其显示为字符串。 因此,在Flex中,我会这样做:

public static function dateToString(cDate:Date):String {
        return cDate.date.toString()+"."+
            cDate.month.toString()+"."+
            cDate.fullYear.toString()+" "+
            cDate.hours.toString()+":"+
            cDate.minutes.toString()+":"+
            cDate.seconds.toString();
}
但我得到的结果是:

13.7.2010 0:0:15

如何用填充的0填充日、月、时、分、秒

我从字符串返回到日期:

DateField.stringToDate(myTextInput.text, "DD.MM.YYYY HH:MM:SS");
这是正确的吗?我希望有一个日期,我将通过BlazeDS传输到J2EE后端,但我只在数据库中看到一个空值。所以出了点问题

致以最诚挚的问候。

你看过这门课了吗

例如:

import mx.formatters.DateFormatter;

private var dateFormatter:DateFormatter;

private function init():void
{
    dateFormatter = new DateFormatter();
    dateFormatter.formatString = 'DD.MM.YYYY HH:NN:SS'
}

public function dateToString(d:Date):String
{
    return dateFormatter.format(d);
}

public function stringToDate(s:String):Date
{
    return dateFormatter.parseDateString(s);
}

在编写Flex3.2的那天,似乎有人睡着了,因为
DateFormatter::parseDateString
是一个受保护的函数。看起来他们通过3.5解决了这个问题。

您可以使用
DateFormatter::parseDateString
将字符串转换为日期,但此方法受保护(?)。要访问方法
DateFormatter::parseDateString
,只需编写一个简单的包装器:

import mx.formatters.DateFormatter;

public class DateFormatterWrapper extends DateFormatter
{
    public function DateFormatterWrapper()
    {
        super();
    }

    public function parseDate(str:String):Date
    {
        return parseDateString(str);
    }       
}

我之所以添加它,是因为stringToDate函数不适用于上面的答案,并且简单包装器不允许您指定输入字符串格式。实际上不再需要包装器,因为函数现在是静态的,但仍然存在同样的问题。我建议改为使用DateField类中的以下静态函数

//myObject.CreatedDate = "10022008"

var d:Date = DateField.stringToDate(myObject.CreatedDate, "MMDDYYYY");

stringToDate方法无效,因为它是受保护的方法。我使用的是Flex 4。
parseDateString()
既不接受也不尊重格式字符串,因此如果字符串转换正确,可能是偶然的。因此,您现在可以使用
DateFormatter.parseDateString(s,“DD.MM.YYYY HH:NN:SS”)
Excellent mate来保护此方法。:)