无法使用DateTimeFormatter格式化毫秒

时间:2011-11-07 14:55:20

标签: flex

我无法使用DateTimeFormatter获得毫秒数。我已经失去了一些头发:

<fx:Declarations>
    <s:DateTimeFormatter id="dtf" 
                         dateTimePattern="{pattern.text}"
                         errorText="Invalid input value"/>      
</fx:Declarations>
<s:HGroup>
    <s:TextInput id="pattern" />
    <s:Label text="{dtf.format( new Date())}" />
</s:HGroup>

当我在{pattern}中输入“y-MM-dd HH:mm:ss.SSS#”时,我在点和英镑符号之间没有看到任何内容。 SSS只能用于解析吗?

3 个答案:

答案 0 :(得分:2)

那么,那是我的解决方案:

<fx:Declarations>
    <s:DateTimeFormatter id="dtf" 
                         dateTimePattern="{pattern.text}"
                         errorText="Invalid input value"/>      
</fx:Declarations>
<s:HGroup includeIn="start" bottom="5" left="5">
    <s:TextInput id="pattern" />
    <s:Label text="{dtf.format( new Date()) + (new Date().milliseconds + 1000).toString().substr(1)}" />
</s:HGroup>

模式将是“y-MM-dd HH:mm:ss。”

答案 1 :(得分:1)

尝试使用mx DateFormatter格式化程序而不是使用spark DateTimeFormatter。

DateFormatter中日期格式的格式字符串可能与其他时间/日期格式化程序略有不同,但支持毫秒(Q)并且确实有效。

使用Apache Flex 4.10(及更高版本)此代码:

protected function traceDate():void
{
    var df:DateFormatter = new DateFormatter()
    df.formatString="YYYY-MM-DD HH:NN:SS.QQQQ#";
    trace(df.format(new Date()));
}

生成时间日期字符串,如下所示: 2013-11-30 09:40:11.0528#

答案 2 :(得分:0)

用&#34;结束日期字符串。&#34;或&#34;:&#34; 例如,如果日期字符串是&#34; 2018-04-19 16:46:49.766&#34; 然后做到&#34; 2018-04-19 16:46:49.766&#34; +&#34;。&#34; 要么 &#34; 2018-04-19 16:46:49.766&#34; +&#34;:&#34;