ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
spark.formatters 

DateTimeFormatter  - AS3 Flex

Packagespark.formatters
Classpublic class DateTimeFormatter
InheritanceDateTimeFormatter Inheritance GlobalizationBase Inheritance AdvancedStyleClient Inheritance EventDispatcher Inheritance Object
Implements IFormatter

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The DateTimeFormatter class provides locale-sensitve formatting for a Date object.

This class is a wrapper class around the flash.globalization.DateTimeFormatter class. Therefore, the locale-specific formatting functionality and the month names, day names and the first day of the week are provided by the flash.globalization.DateTimeFormatter. However, this DateTimeFormatter class can be used in MXML declarations, uses the locale style for the requested Locale ID name, and has methods and properties that are bindable.

The flash.globalization.DateTimeFormatter class uses the underlying operating system for the formatting functionality and to supply the locale-specific data. On some operating systems, the flash.globalization classes are unsupported, on these systems, this wrapper class provides fallback functionality.

MXML SyntaxexpandedHide MXML Syntax

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"
  />
  

View the examples

More examples

Learn more

Related API Elements



Public Properties
 PropertyDefined By
  actualLocaleIDName : String
[override] [read-only] The name of the actual locale ID used by this class object.
DateTimeFormatter
 InheritedclassName : String
[read-only] The name of the component class.
AdvancedStyleClient
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  dateStyle : String
The date style for this instance of the DateTimeFormatter.
DateTimeFormatter
  dateTimePattern : String
The pattern string used by the DateTimeFormatter object to format dates and times.
DateTimeFormatter
  errorText : String
String returned by the format() method when an error occurs.
DateTimeFormatter
 Inheritedid : String
The identity of the component.
AdvancedStyleClient
 InheritedinheritingStyles : Object
An object containing the inheritable styles for this non-visual style client instance.
AdvancedStyleClient
  lastOperationStatus : String
[override] [read-only] The status of the most recent operation that this class object performed.
DateTimeFormatter
 InheritedmoduleFactory : IFlexModuleFactory
A module factory is used as context for finding the style manager that controls the styles for this non-visual style client instance.
AdvancedStyleClient
 InheritednonInheritingStyles : Object
The beginning of this component's chain of non-inheriting styles.
AdvancedStyleClient
 InheritedstyleDeclaration : CSSStyleDeclaration
The style declaration that holds the inline styles declared by this object.
AdvancedStyleClient
 InheritedstyleManager : IStyleManager2
[read-only] Returns the StyleManager instance used by this component.
AdvancedStyleClient
 InheritedstyleName : Object
The source of this object's style values.
AdvancedStyleClient
 InheritedstyleParent : IAdvancedStyleClient
A component's parent is used to evaluate descendant selectors.
AdvancedStyleClient
  timeStyle : String
The time style for this instance of the DateTimeFormatter.
DateTimeFormatter
  useUTC : Boolean
A boolean flag to control whether the local or the UTC date and time values are used when the formatting a date.
DateTimeFormatter
Public Methods
 MethodDefined By
  
Constructs a new DateTimeFormatter object to format dates and times according to the conventions of the specified locale and the provided date and time formatting styles.
DateTimeFormatter
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registers an event listener object with an EventDispatcher object so that the listener receives notification of an event.
EventDispatcher
 Inherited
Deletes a style property from this component instance.
AdvancedStyleClient
 Inherited
Dispatches an event into the event flow.
EventDispatcher
  
Formats a display string for an object that specifies a date in either the user's local time or UTC time.
DateTimeFormatter
  
[static] Lists all of the locale ID names supported by this class.
DateTimeFormatter
 Inherited
Returns an Array of CSSStyleDeclaration objects for the type selector that applies to this component, or null if none exist.
AdvancedStyleClient
  
Returns an integer corresponding to the first day of the week for this locale and calendar system.
DateTimeFormatter
  
getMonthNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>
Retrieves a list of localized strings containing the month names for the current calendar system.
DateTimeFormatter
 Inherited
getStyle(styleProp:String):*
[override] Gets a style property that has been set anywhere in this component's style lookup chain.
GlobalizationBase
  
getWeekdayNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>
Retrieves a list of localized strings containing the names of weekdays for the current calendar system.
DateTimeFormatter
 Inherited
Returns true if currentCSSState is not null.
AdvancedStyleClient
 Inherited
Checks whether the EventDispatcher object has any listeners registered for a specific type of event.
EventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
The initialized method is called when this class or a class that extends this class is used in an MXML declaration.
AdvancedStyleClient
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Returns true if cssState matches currentCSSState.
AdvancedStyleClient
 Inherited
Determines whether this instance is the same as, or is a subclass of, the given type.
AdvancedStyleClient
 Inherited
Propagates style changes to the children of this style client instance.
AdvancedStyleClient
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets up the internal style cache values so that the getStyle() method functions.
AdvancedStyleClient
 Inherited
Registers the EffectManager as one of the event listeners for each effect event.
AdvancedStyleClient
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Removes a listener from the EventDispatcher object.
EventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance.
AdvancedStyleClient
 Inherited
Detects changes to style properties.
AdvancedStyleClient
 Inherited
Flex calls the stylesInitialized() method when the styles for a component are first initialized.
AdvancedStyleClient
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
Checks whether an event listener is registered with this EventDispatcher object or any of its ancestors for the specified event type.
EventDispatcher
Events
 Event Summary Defined By
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application gains operating system focus and becomes active.EventDispatcher
 InheritedThe change event is generated whenever the locale style is changed or another property is set that would cause the format of a number to change or cause updates to the other values available through this class.GlobalizationBase
 Inherited[broadcast event] Dispatched when the Flash Player or AIR application operating loses system focus and is becoming inactive.EventDispatcher
Styles

Styles are either common or associated with a specific theme. If the style is common, it can be used with any theme. If a style is associated with a specific theme, it can only be used if your application uses that theme.

Common Styles
 Style Description Defined By
 InheritedType: String CSS Inheritance: Yes
Language Version: ActionScript 3.0  Product Version: Flex 4.5  Runtime Versions: Flash10.1, AIR 2.5

The locale identifier that specifies the language, region, script and optionally other related tags and keys.
GlobalizationBase
Property Detail

actualLocaleIDName

property
actualLocaleIDName:String  [read-only] [override]

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The name of the actual locale ID used by this class object. This is the locale that is used to access the formatting data and functionality from the operating system.

If the locale that was set by the locale style is not available, then the value of the actualLocaleIDName is different from the value of the locale style. It indicates the fallback locale that is being used. If the locale style was set to LocaleID.DEFAULT the name of the locale specified by the user's operating system is used.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    override public function get actualLocaleIDName():String

Related API Elements

flash.globalization.DateTimeFormatter.actualLocaleIDName
DateTimeFormatter()

dateStyle

property 
dateStyle:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The date style for this instance of the DateTimeFormatter. The date style is used to retrieve a predefined time and locale specific formatting pattern from the operating system. When formatting a date, the locale style, the timeStyle and the dateStyle properties determine the format of the date. The date style value can be set in the following two ways: assigning a value to either the dateStyle property or the dateTimePattern property.

The possible for this property are defined by the flash.globalization.DateTimeStyle class. Possible values for the dateStyle property are:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM

If the dateTimePattern property is assigned a value, as a side effect, the dateStyle property is set to DateTimeStyle.CUSTOM

The default value is DateTimeStyle.LONG.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get dateStyle():String
    public function set dateStyle(value:String):void

Throws
ArgumentError — if the assigned value is not a valid DateTimeStyle constant or is DateTimeStyle.CUSTOM.
 
TypeError — if the dateStyle or is set to null.

Related API Elements

dateTimePattern

property 
dateTimePattern:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The pattern string used by the DateTimeFormatter object to format dates and times.

This pattern can be set in one of two ways:

  1. By setting the dateStyle and timeStyle properties.
  2. By setting the dateTimePattern property.

If this property is assigned a value directly, as a side effect, the current time and date styles are overridden and set to the value DateTimeStyle.CUSTOM.

For a description of the pattern syntax, please see the flash.globalization.DateTimeFormatter.setDateTimePattern() method.

The default value is "EEEE, MMMM dd, yyyy h:mm:ss a".

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get dateTimePattern():String
    public function set dateTimePattern(value:String):void

Related API Elements

errorText

property 
errorText:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

String returned by the format() method when an error occurs.

If errorText is non-null and an error occurs while formatting a date, the format method will return the string assigned to this property.

For example:
      var dtf:DateTimeFormatter = new DateTimeFormatter();
      dtf.setStyle("locale", "en-US");
      dtf.errorText = "----"
      trace(dtf.format("abc"));  // ----
      

The default value is null.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get errorText():String
    public function set errorText(value:String):void

Related API Elements

lastOperationStatus

property 
lastOperationStatus:String  [read-only] [override]

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The status of the most recent operation that this class object performed. The lastOperationStatus is set whenever the constructor or a method of this class is called, or when a property is set. For the possible values see the description under each method.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    override public function get lastOperationStatus():String

timeStyle

property 
timeStyle:String

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

The time style for this instance of the DateTimeFormatter. The time style is used to retrieve a predefined time and locale specific formatting pattern from the operating system. When formatting a date, the locale style, the timeStyle and the dateStyle properties determine the format of the date. The time style value can be set in the following two ways: assigning a value to either the timeStyle property or the dateTimePattern property.

The value of the property are defined by the flash.globalization.DateTimeStyle class. Possible values for the timeStyle property are:

  • DateTimeStyle.LONG
  • DateTimeStyle.MEDIUM
  • DateTimeStyle.SHORT
  • DateTimeStyle.NONE
  • DateTimeStyle.CUSTOM

If the dateTimePattern property is assigned a value, as a side effect, the dateStyle property is set to DateTimeStyle.CUSTOM

The default value is DateTimeStyle.LONG.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get timeStyle():String
    public function set timeStyle(value:String):void

Throws
ArgumentError — if the assigned value is not a valid DateTimeStyle constant or is DateTimeStyle.CUSTOM .
 
TypeError — if the dateStyle or timeStyle parameter is null.

Related API Elements

useUTC

property 
useUTC:Boolean

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

A boolean flag to control whether the local or the UTC date and time values are used when the formatting a date. If useUTC is set to true then the UTC values are used. If the value is set to false, then the date time values of the operating system's current time zone is used.

The default value is false.

This property can be used as the source for data binding. When this property is modified, it dispatches the change event.



Implementation
    public function get useUTC():Boolean
    public function set useUTC(value:Boolean):void

Related API Elements

Constructor Detail

DateTimeFormatter

()Constructor
public function DateTimeFormatter()

Language Version: ActionScript 3.0
Product Version: Flex 4.5
Runtime Versions: Flash Player 10.1, AIR 2.5

Constructs a new DateTimeFormatter object to format dates and times according to the conventions of the specified locale and the provided date and time formatting styles.

The locale for this class is supplied by the locale style. The locale style can be set in several ways:

  • By using the class in an MXML declaration and inheriting the locale from the document that contains the declaration.
  • Example:
      <fx:Declarations> 
             <s:DateTimeFormatter id="df" />
      </fx:Declarations>
  • By using an MXML declaration and specifying the locale value in the list of assignments.
  • Example:
          <fx:Declarations> 
              <s:DateTimeFormatter id="df_Japanese" locale="ja-JP" />
          </fx:Declarations>
  • Calling the setStyle method. For example:
          df.setStyle("locale", "ja-JP")
  • Inheriting the style from a UIComponent by calling the UIComponent's addStyleClient() method.
  • If the locale style is not set by one of the above techniques, the instance of this class will be added as a StyleClient to the topLevelApplication and will therefore inherit the locale style from the topLevelApplication object when the locale dependent property getter or locale dependent method is called.

    Most of the properties of this class are automatically set based on the locale style. If the locale style is changed, any properties that have not been explicitly set will also be updated based on the new locale. Note that the actual locale that is used is specified by the actualLocaleIDName property.

    Related API Elements

    Method Detail

    format

    ()method
    public function format(value:Object):String

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Formats a display string for an object that specifies a date in either the user's local time or UTC time.

    A Date object has two sets of date and time values, those in the user's local time (date, day, fullYear, hours, minutes, month, and seconds) and those in UTC time (dateUTC, dayUTC, fullYearUTC, hoursUTC, minutesUTC, monthUTC, and secondsUTC). The boolean property useUTC controls which set of date and time components are used when formatting the date. The formatting will be done using the conventions of the locale as set by the locale style property and the dateStyle and timeStyle properties, or the dateTimePattern, specified for this DateTimeFormatter instance.

    If there is an error when formatting, due to an illegal input value or other error, by default the format() method will return null. However if the errorText property is non-null, then the value of the errorText property will be returned. The lastOperationStatus property will be set to indicate the error that occurred.

    Parameters

    value:Object — A Date value to be formatted. If the object is not a Date then it will be converted to a date using the Date() constructor.

    Returns
    String — A formatted string representing the date or time value.

    Related API Elements

    getAvailableLocaleIDNames

    ()method 
    public static function getAvailableLocaleIDNames():Vector.<String>

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Lists all of the locale ID names supported by this class. This is a list of locales supported by the operating system, not a list of locales that the ResourceManager has resources for.

    Returns
    Vector.<String> — A vector of strings containing all of the locale ID names supported by this class and operating system.

    getFirstWeekday

    ()method 
    public function getFirstWeekday():int

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Returns an integer corresponding to the first day of the week for this locale and calendar system. A value of 0 corresponds to Sunday, 1 corresponds to Monday and so on, with 6 corresponding to Saturday.

    Returns
    int — An integer corresponding to the first day of the week for this locale and calendar system.

    getMonthNames

    ()method 
    public function getMonthNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Retrieves a list of localized strings containing the month names for the current calendar system. The first element in the list is the name for the first month of the year.

    Parameters

    nameStyle:String (default = "full") — Indicates the style of name string to be used. Valid values are:
    • DateTimeNameStyle.FULL
    • DateTimeNameStyle.LONG_ABBREVIATION
    • DateTimeNameStyle.SHORT_ABBREVIATION
     
    context:String (default = "standalone") — A code indicating the context in which the formatted string will be used. This context will only make a difference for certain locales. Valid values are:
    • DateTimeNameContext.FORMAT
    • DateTimeNameContext.STANDALONE

    Returns
    Vector.<String> — A vector of localized strings containing the month names for the current locale (specified by the locale style), name style and context. The first element in the vector, at index 0, is the name for the first month of the year; the next element is the name for the second month of the year; and so forth.

    Throws
    TypeError — if the nameStyle or context parameter is null.

    Related API Elements

    getWeekdayNames

    ()method 
    public function getWeekdayNames(nameStyle:String = "full", context:String = "standalone"):Vector.<String>

    Language Version: ActionScript 3.0
    Product Version: Flex 4.5
    Runtime Versions: Flash Player 10.1, AIR 2.5

    Retrieves a list of localized strings containing the names of weekdays for the current calendar system. The first element in the list represents the name for Sunday.

    Parameters

    nameStyle:String (default = "full") — Indicates the style of name string to be used. Valid values are:
    • DateTimeNameStyle.FULL
    • DateTimeNameStyle.LONG_ABBREVIATION
    • DateTimeNameStyle.SHORT_ABBREVIATION
     
    context:String (default = "standalone") — A code indicating the context in which the formatted string will be used. This context only applies for certain locales where the name of a month changes depending on the context. For example, in Greek the month names are different if they are displayed alone versus displayed along with a day. Valid values are:
    • DateTimeNameContext.FORMAT
    • DateTimeNameContext.STANDALONE

    Returns
    Vector.<String> — A vector of localized strings containing the month names for the current locale (specified by the locale style), name style and context. The first element in the vector, at index 0, is the name for Sunday; the next element is the name for Monday; and so forth.

    Throws
    TypeError — if the nameStyle or context parameter is null.

    Related API Elements

    DateTimeFormatterExample.mxml
    <?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>