首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Flex中将英国日期转换为美国日期

在Flex中将英国日期转换为美国日期
EN

Stack Overflow用户
提问于 2013-06-05 15:19:43
回答 2查看 222关注 0票数 0

嗨,似乎有很多可以将美国格式的日期(MM/DD/YYYY)转换为英国日期(DD/MM/YYYY),但我正试图做相反的事情:我从服务器收到大量英国日期(DD-MM-YYYY ),我试图将其格式化为DD-MMM-YYYY (例如:2013年1月11日),但Flex认为它正在尝试转换美国日期,因此当它获得17-02-2013时,它返回一个空字符串,因为没有月17。我如何告诉它我给它的是英国日期而不是美国日期?提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-05 23:11:05

简而言之,你不能。

更长的答案是,没有足够的信息来确定日期格式。正如您所看到的,在某些情况下,您可以确定日期对于预期格式无效( 17 -02-2013 -由于17不是有效的月份,它必须是DD-MM-YYYY而不是MM-DD-YYYY),但对于您无法分辨的日期的一半以下( 01-02-2013应该是1月2日还是2月1日?)

如果您确实知道日期应该采用特定的格式,则可以使用DateField.stringToDate来解析字符串:

代码语言:javascript
复制
var value:Date = DateField.stringToDate(dateString, 'DD-MM-YYYY');
票数 0
EN

Stack Overflow用户

发布于 2013-06-05 23:41:31

好的,最后用这个丑陋的技巧绕过了它:在对结果使用DateFormatter.format之前,将字符串转换为一个数组,并对其进行重新组织,使其符合美国格式。一定有更优雅的方式..。

代码语言:javascript
复制
<Script>

    public convertDateStringToUS( date : String ) : String
    {
       var dateArray : Array = date.split( "-" );
       var day = dateArray[0];
       var month = dateArray[1];
       var year = dateArray[2];
       date = month + "-" + day + "-" + year;
       return date
    }

</Script>

<declarations>

    <mx:DateFormatter id="dateFormatter" 
                      formatString="DD-MMM-YYYY" />

</declarations>

<s:Label id="myDateLabel"
         text =" { dateFormatter.format( convertDateStringToUS( date ) ) } "/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16933804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档