【问题标题】:How to format a String to date in flex?如何在flex中格式化字符串到日期?
【发布时间】:2009-11-04 04:25:06
【问题描述】:

我有一个格式为“2008 年 8 月 20 日”的字符串。我希望将其转换为 20/08/2008 或 08/20/2008?我该怎么做?

我只想从字符串中删除所有这些连字符并将其转换为日期值。 dateFormatter 函数仅接受格式为 mm/dd/yyyy 的日期值。

谁能帮帮我..

我使用了正则表达式并从字符串中删除了所有这些连字符。现在在一个数组中,我有值 20、Aug 和 2008。之后如何继续转换为 20/08/2008?

编辑

  [Bindable]public var myDate:Date;

  public function init():void
  {
        var dateStr:String="20-Aug-2008";

        var rex:RegExp = /-/;

         var dateArray:Array = dateStr.split(rex);

         myDate= new Date(dateArray[0],dateArray[1],dateArray[2]);

  }

  <mx:DateFormatter id="DateDisplay" formatString="MM/DD/YYYY"/>

  <mx:TextArea id="date" text="{DateDisplay.format(myDate)}"/>

我在文本区域中得到的值是:01/00/NaN。我哪里出错了?

【问题讨论】:

    标签: apache-flex date


    【解决方案1】:

    我手边没有编译器(所以我不能检查这个),但是 Date 构造函数不是期望年、月(从零开始)、日吗?所以以下应该工作:

    myDate = new Date(dateArray[2], dateArray[0] - 1, dateArray[1]);
    

    (当然,您可能需要事先进行一些错误检查。)

    发件人:http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/Date.html#includeExamplesSummary

    编辑:更好的链接
    http://livedocs.adobe.com/flex/2/langref/Date.html#Date%28%29
    http://www.darronschall.com/weblog/2006/12/actionscript-30-tip-date-constructor.cfm

    编辑 2:糟糕。忘记了您处理的是月份字符串,而不是数字。您可以改为执行以下操作:

    function getMonth(monthString:String):int
    {
        var months = new Array('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec');
    
        for (var i:int=0; i<months.length; i++)
        {
            if months[i] == monthString)
            {
              return i;
            }
        }
    
        // not a valid month string
        return -1;
    }
    

    然后,使用 getMonth 查找与给定月份名称相关联的数字。同样,我手边没有编译器,所以这可能不对。此外,必须有一种更简单的方法来做到这一点......只是现在想不出一个。

    【讨论】:

    • 我有 dateArray[1] 作为八月。如何将其更改为数字?因为这个 Date 构造函数只有在我给出一个数字时才有效。但是我的值是八月,有什么方法可以将其更改为数字吗?
    • 谢谢...我也在搜索是否有任何函数可以给出月份的数字,如果月份字符串被传递。没有得到这样的功能。所以现在,要使用这个功能。谢谢你的协助。 :-)
    猜你喜欢
    • 1970-01-01
    • 2017-03-23
    • 2011-04-08
    • 2020-05-22
    • 2012-02-11
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多