| 包 | spark.formatters |
| 类 | public class DateTimeFormatter |
| 继承 | DateTimeFormatter GlobalizationBase AdvancedStyleClient EventDispatcher Object |
| 实现 | IFormatter |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
Date 对象提供特定于区域设置的格式。
此类是包装 flash.globalization.DateTimeFormatter 类的包装器类。因此,特定于区域设置的格式化功能与月份、日期以及每周的第一天是由 flash.globalization.DateTimeFormatter 提供的。但是,此 DateTimeFormatter 类可在 MXML 声明中使用,为请求的区域设置 ID 名称使用区域设置样式,并具有可绑定的方法和属性。
flash.globalization.DateTimeFormatter 类使用基础操作系统来实现格式化功能并提供特定于区域设置的数据。某些操作系统不支持 flash.globalization 类,在这些操作系统上,由包装器类提供回退功能。
MXML 语法
隐藏 MXML 语法The <s:DateTimeFormatter> tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:DateTimeFormatter
Properties
dateStyle="long"
dateTimePattern="EEEE, MMMM dd, yyyy h:mm:ss a"
errorText="null"
timeStyle="long"
useUTC="false"
/>
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
| actualLocaleIDName : String [覆盖] [只读]
由该类对象使用的实际区域设置 ID 的名称。 | DateTimeFormatter | ||
![]() | className : String [只读]
组件类的名称。 | AdvancedStyleClient | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
| dateStyle : String
此 DateTimeFormatter 实例的日期样式。 | DateTimeFormatter | ||
| dateTimePattern : String
模式字符串,由 DateTimeFormatter 对象使用以设置日期和时间的格式。 | DateTimeFormatter | ||
| errorText : String
当发生错误时,由 format() 方法返回的字符串。 | DateTimeFormatter | ||
![]() | id : String
组件的标识。 | AdvancedStyleClient | |
![]() | inheritingStyles : Object
包含该非可视样式客户端实例的可继承样式的对象。 | AdvancedStyleClient | |
| lastOperationStatus : String [覆盖] [只读]
此类对象执行的最近操作的状态。 | DateTimeFormatter | ||
![]() | moduleFactory : IFlexModuleFactory
模块工厂作为用于查找样式管理器(控制此非可视样式客户端实例的样式)的上下文使用。 | AdvancedStyleClient | |
![]() | nonInheritingStyles : Object
此组件的非继承样式链的开头内容。 | AdvancedStyleClient | |
![]() | styleDeclaration : CSSStyleDeclaration
具有此对象声明的内嵌样式的样式声明。 | AdvancedStyleClient | |
![]() | styleManager : IStyleManager2 [只读]
返回此组件使用的 StyleManager 实例。 | AdvancedStyleClient | |
![]() | styleName : Object
该对象的样式值的源。 | AdvancedStyleClient | |
![]() | styleParent : IAdvancedStyleClient
组件的父项用于评估后代选择器。 | AdvancedStyleClient | |
| timeStyle : String
此 DateTimeFormatter 实例的时间样式。 | DateTimeFormatter | ||
| useUTC : Boolean
一个布尔值标志,用于控制在设置日期的格式时是使用区域设置还是 UTC 的日期与时间值。 | DateTimeFormatter | ||
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
构造新 DateTimeFormatter 对象,以根据指定区域设置的约定以及提供的日期和时间格式设置样式来设置日期和时间的格式。 | DateTimeFormatter | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
删除此组件实例的样式属性。 | AdvancedStyleClient | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
为对象设置显示字符串的格式,指定以用户的本地时间或 UTC 时间来表示日期。 | DateTimeFormatter | ||
[静态]
列出此类支持的所有区域设置 ID 名称。 | DateTimeFormatter | ||
![]() |
为应用于该组件的类型选择器返回 CSSStyleDeclaration 对象数组,如果不存在则返回 null。 | AdvancedStyleClient | |
返回一个整数,它对应于此区域设置和日历系统的每周第一天。 | DateTimeFormatter | ||
检索包含当前日历系统的月名称的本地化字符串列表。 | DateTimeFormatter | ||
![]() | [覆盖]
获取已在此组件的样式查找链中的某个位置设置过的样式属性。 | GlobalizationBase | |
检索包含当前日历系统的工作日名称的本地化字符串列表。 | DateTimeFormatter | ||
![]() |
如果 currentCSSState 不为 null,则返回 true。 | AdvancedStyleClient | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
该类或扩展该类的类在 MXML 声明中使用时,调用 initialized 方法。 | AdvancedStyleClient | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
如果 cssState 与 currentCSSState 匹配,则返回 true。 | AdvancedStyleClient | |
![]() |
确定此实例与给定类型相同,还是属于给定类型的子类。 | AdvancedStyleClient | |
![]() |
将样式更改传播到此样式客户端实例的子项。 | AdvancedStyleClient | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
设置内部样式缓存值,以便 getStyle() 方法可以起作用。 | AdvancedStyleClient | |
![]() |
将 EffectManager 注册为每个效果事件的事件侦听器之一。 | AdvancedStyleClient | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
对此组件实例设置样式属性。 | AdvancedStyleClient | |
![]() |
检测对样式属性的更改。 | AdvancedStyleClient | |
![]() |
首次初始化组件样式时,Flex 会调用 stylesInitialized() 方法。 | AdvancedStyleClient | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
actualLocaleIDName | 属性 |
actualLocaleIDName:String [只读] [覆盖] | 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
由该类对象使用的实际区域设置 ID 的名称。这是用于从操作系统访问格式化数据和功能的区域设置。
如果由 locale 样式所设置的区域设置不可用,则 actualLocaleIDName 的值将不同于 locale 样式的值。它指明正在使用的回退区域设置。如果区域设置样式设置为 LocaleID.DEFAULT,将使用由用户的操作系统指定的区域设置的名称。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
override public function get actualLocaleIDName():String相关 API 元素
DateTimeFormatter()
dateStyle | 属性 |
dateStyle:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
此 DateTimeFormatter 实例的日期样式。日期样式用于从操作系统检索预定义的时间和特定于区域设置的格式设置模式。在设置日期格式时,locale 样式、timeStyle 和 dateStyle 属性决定了日期的格式。可以使用以下两种方法来设置日期样式的值:指定 dateStyle 属性或 dateTimePattern 属性的值。
此属性的可能值是由 flash.globalization.DateTimeStyle 类定义的。可以为 dateStyle 属性指定的值如下:
DateTimeStyle.LONGDateTimeStyle.MEDIUMDateTimeStyle.SHORTDateTimeStyle.NONEDateTimeStyle.CUSTOM
如果为 dateTimePattern 属性指定了值,则会产生副作用,dateStyle 属性必定设置为 DateTimeStyle.CUSTOM。
默认值为 DateTimeStyle.LONG。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
public function get dateStyle():String public function set dateStyle(value:String):void引发
ArgumentError — 如果指定的值不是有效的 DateTimeStyle 常量或指定的值是 DateTimeStyle.CUSTOM。
| |
TypeError — 如果设置为 dateStyle 或 null。
|
相关 API 元素
dateTimePattern | 属性 |
dateTimePattern:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
模式字符串,由 DateTimeFormatter 对象使用以设置日期和时间的格式。
可以使用以下两种方法之一设置此模式:
- 通过设置
dateStyle和timeStyle属性。 - 通过设置
dateTimePattern属性。
如果直接为此属性指定了值,则会产生副作用,当前时间与日期样式将被重写,并设置为值 DateTimeStyle.CUSTOM。
有关模式语法的说明,请参阅 flash.globalization.DateTimeFormatter.setDateTimePattern() 方法。
默认值为 "EEEE, MMMM dd, yyyy h:mm:ss a"。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
public function get dateTimePattern():String public function set dateTimePattern(value:String):void相关 API 元素
errorText | 属性 |
errorText:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
当发生错误时,由 format() 方法返回的字符串。
如果 errorText 为非 null,并且在设置日期的格式时发生了错误,则 format 方法将返回为此属性指定的字符串。
var dtf:DateTimeFormatter = new DateTimeFormatter();
dtf.setStyle("locale", "en-US");
dtf.errorText = "----"
trace(dtf.format("abc")); // ----
默认值为 null。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
public function get errorText():String public function set errorText(value:String):void相关 API 元素
lastOperationStatus | 属性 |
timeStyle | 属性 |
timeStyle:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
此 DateTimeFormatter 实例的时间样式。时间样式用于从操作系统检索预定义的时间和特定于区域设置的格式设置模式。在设置日期格式时,locale 样式、timeStyle 和 dateStyle 属性决定了日期的格式。可以使用以下两种方法来设置时间样式的值:指定 timeStyle 属性或 dateTimePattern 属性的值。
此属性的值是由 flash.globalization.DateTimeStyle 类定义的。可以为 timeStyle 属性指定的值如下:
DateTimeStyle.LONGDateTimeStyle.MEDIUMDateTimeStyle.SHORTDateTimeStyle.NONEDateTimeStyle.CUSTOM
如果为 dateTimePattern 属性指定了值,则会产生副作用,dateStyle 属性必定设置为 DateTimeStyle.CUSTOM。
默认值为 DateTimeStyle.LONG。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
public function get timeStyle():String public function set timeStyle(value:String):void引发
ArgumentError — 如果指定的值不是有效的 DateTimeStyle 常量或指定的值是 DateTimeStyle.CUSTOM。
| |
TypeError — 如果 dateStyle 或 timeStyle 参数为 null。
|
相关 API 元素
useUTC | 属性 |
useUTC:Boolean| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
一个布尔值标志,用于控制在设置日期的格式时是使用区域设置还是 UTC 的日期与时间值。如果 useUTC 设置为 true,则使用 UTC 值,如果该值设置为 false,则使用操作系统当前时区的日期与时间的值。
默认值为 false。
此属性可用作数据绑定的源。修改此属性后,将调度 change 事件。
实现
public function get useUTC():Boolean public function set useUTC(value:Boolean):void相关 API 元素
DateTimeFormatter | () | 构造函数 |
public function DateTimeFormatter()| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
构造新 DateTimeFormatter 对象,以根据指定区域设置的约定以及提供的日期和时间格式设置样式来设置日期和时间的格式。
此类的区域设置是由区域设置样式提供的。可以使用以下几种方法来设置区域设置样式:
- 在 MXML 声明中使用该类,并从包含声明的文档中继承区域设置。 示例:
<fx:Declarations>
<s:DateTimeFormatter id="df" />
</fx:Declarations>
<fx:Declarations>
<s:DateTimeFormatter id="df_Japanese" locale="ja-JP" />
</fx:Declarations>
df.setStyle("locale", "ja-JP")
addStyleClient() 方法来继承 UIComponent 的样式。
如果 locale 样式不是由以上方式之一设置的,则该类的实例会作为 StyleClient 添加至 topLevelApplication 中,并因此在调用 locale 从属属性 getter 或 locale 从属方法时,会从 topLevelApplication 对象中继承 locale 样式。
此类的大部分属性将自动根据区域设置样式来设置。如果区域设置样式发生改变,则任何未明确设置的属性也都会根据新的区域设置来进行更新。请注意,正在使用的实际区域设置是由 actualLocaleIDName 属性来指定的。
相关 API 元素
format | () | 方法 |
public function format(value:Object):String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
为对象设置显示字符串的格式,指定以用户的本地时间或 UTC 时间来表示日期。
Date 对象具有两组日期与时间值,包括用户本地时间(date、day、fullYear、hours、minutes、month 以及 seconds)和 UTC 时间(dateUTC、dayUTC、fullYearUTC、hoursUTC、minutesUTC、monthUTC 以及 secondsUTC)。布尔值属性 useUTC 控制在设置日期的格式时使用哪一组日期与时间组件。将使用区域设置约定(即由 locale 样式属性、dateStyle和 timeStyle 属性所设置的),或为此 DateTimeFormatter 实例指定的dateTimePattern 来执行格式设置。
如果由于非法输入值或其它错误在设置格式时发生了错误,则默认情况下 format() 方法将返回 null。但是,如果 errorText 属性为非 null,则将返回 errorText 属性的值。将设置 lastOperationStatus 属性以指明发生的错误。
参数
value:Object — 要设置格式的 Date 值。如果对象不是 Date,将使用 Date() 构造函数来转换为日期。
|
String — 表示日期或时间值的设置了格式的字符串。
|
相关 API 元素
getAvailableLocaleIDNames | () | 方法 |
getFirstWeekday | () | 方法 |
getMonthNames | () | 方法 |
public function getMonthNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
检索包含当前日历系统的月名称的本地化字符串列表。列表中的第一个元素表示一年中第一个月的名称。
参数
nameStyle:String (default = "full") — 表示要使用的名称字符串样式。有效值为:
| |
context:String (default = "standalone") — 指示将在其中使用设置了格式的字符串的上下文的代码。此上下文只对于某些区域设置有差别。有效值为:
|
Vector.<String> — 一个本地化字符串矢量,其中包含当前区域设置(由区域设置样式指定)、名称样式和上下文的月名称。矢量中位于索引 0 处的第一个元素表示一年中第一个月的名称;下一个元素表示一年中第二个月的名称;以此类推。
|
引发
TypeError — 如果 nameStyle 或 context 参数为 null。
|
相关 API 元素
getWeekdayNames | () | 方法 |
public function getWeekdayNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4.5 |
| 运行时版本: | Flash Player 10.1, AIR 2.5 |
检索包含当前日历系统的工作日名称的本地化字符串列表。列表中的第一个元素表示星期日的名称。
参数
nameStyle:String (default = "full") — 表示要使用的名称字符串样式。有效值为:
| |
context:String (default = "standalone") — 指示将在其中使用设置了格式的字符串的上下文的代码。该上下文仅适用于月份名称随上下文变化的特定区域设置。例如,在希腊语中,月份名称单独显示时同与日一起显示时不同。有效值为:
|
Vector.<String> — 一个本地化字符串矢量,其中包含当前区域设置(由区域设置样式指定)、名称样式和上下文的月名称。矢量中位于索引 0 处的第一个元素是星期日的名称;下一个元素是星期一的名称;依此类推。
|
引发
TypeError — 如果 nameStyle 或 context 参数为 null。
|
相关 API 元素
<?xml version="1.0" encoding="utf-8"?>
<!-- Sample program for spark.formatters.DateTimeFormatter -->
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Declarations>
<s:DateTimeFormatter id="dateTimeFormatter"/>
</fx:Declarations>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private static const dateTimeStyleMenuItems:ArrayCollection
= new ArrayCollection(["long", "medium", "short", "none"]);
]]>
</fx:Script>
<mx:Form>
<mx:FormItem label="Input Locale ID Name">
<mx:HBox>
<s:TextInput id="inputLocaleIDName"/>
<!-- Upon button click, sets the locale style on the document
UI component. The formatter will inherit this style. -->
<s:Button click="setStyle('locale', inputLocaleIDName.text);"
label="Apply"/>
</mx:HBox>
<mx:Text text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
</mx:FormItem>
<mx:FormItem label="Date Style">
<s:DropDownList id="dateStyle" requireSelection="true"
change="dateTimeFormatter.dateStyle = dateTimeStyleMenuItems[dateStyle.selectedIndex]"
dataProvider="{dateTimeStyleMenuItems}"/>
</mx:FormItem>
<mx:FormItem label="Time Style">
<s:DropDownList id="timeStyle" requireSelection="true"
change="dateTimeFormatter.timeStyle = dateTimeStyleMenuItems[timeStyle.selectedIndex]"
dataProvider="{dateTimeStyleMenuItems}"/>
</mx:FormItem>
<mx:FormItem label="Input Date">
<mx:TextInput id="inputDate" text="{new Date().toString()}"/>
</mx:FormItem>
<mx:FormItem label="Actual Locale ID Name">
<mx:Text text="{dateTimeFormatter.actualLocaleIDName}"/>
</mx:FormItem>
<mx:FormItem label="Formatted Result">
<mx:Text id="uiFormattedDate"
text="{dateTimeFormatter.format(inputDate.text)}"/>
</mx:FormItem>
</mx:Form>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
显示 MXML 语法