Packagespark.formatters
Classpublic class DateTimeFormatter
InheritanceDateTimeFormatter Inheritance GlobalizationBase Inheritance AdvancedStyleClient Inheritance flash.events.EventDispatcher
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

See also

flash.globalization.DateTimeFormatter


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
  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
clearStyle(styleProp:String):void
Deletes a style property from this component instance.
AdvancedStyleClient
  
format(value:Object):String
Formats a display string for an object that specifies a date in either the user's local time or UTC time.
DateTimeFormatter
  
getAvailableLocaleIDNames():Vector.<String>
[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
hasCSSState():Boolean
Returns true if currentCSSState is not null.
AdvancedStyleClient
 Inherited
initialized(document:Object, id:String):void
The initialized method is called when this class or a class that extends this class is used in an MXML declaration.
AdvancedStyleClient
 Inherited
matchesCSSState(cssState:String):Boolean
Returns true if cssState matches currentCSSState.
AdvancedStyleClient
 Inherited
matchesCSSType(cssType:String):Boolean
Determines whether this instance is the same as, or is a subclass of, the given type.
AdvancedStyleClient
 Inherited
notifyStyleChangeInChildren(styleProp:String, recursive:Boolean):void
Propagates style changes to the children of this style client instance.
AdvancedStyleClient
 Inherited
regenerateStyleCache(recursive:Boolean):void
Sets up the internal style cache values so that the getStyle() method functions.
AdvancedStyleClient
 Inherited
registerEffects(effects:Array):void
Registers the EffectManager as one of the event listeners for each effect event.
AdvancedStyleClient
 Inherited
setStyle(styleProp:String, newValue:*):void
Sets a style property on this component instance.
AdvancedStyleClient
 Inherited
styleChanged(styleProp:String):void
Detects changes to style properties.
AdvancedStyleClient
 Inherited
Flex calls the stylesInitialized() method when the styles for a component are first initialized.
AdvancedStyleClient
Protected Methods
 MethodDefined By
 Inherited
AdvancedStyleClient
Events
 Event Summary Defined By
 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
Styles
 Style Description Defined By
 InheritedType: String CSS Inheritance: yes
The locale identifier that specifies the language, region, script and optionally other related tags and keys.

See also

GlobalizationBase
Property Detail
actualLocaleIDNameproperty
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.


Implementation
    public function get actualLocaleIDName():String

See also

flash.globalization.DateTimeFormatter.actualLocaleIDName
DateTimeFormatter()
dateStyleproperty 
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:

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.


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.

See also

dateTimePatternproperty 
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.


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

See also

errorTextproperty 
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.


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

See also

lastOperationStatusproperty 
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.


Implementation
    public function get lastOperationStatus():String
timeStyleproperty 
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:

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.


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.

See also

dateStyle
dateTimePattern
flash.globalization.DateTimeStyle
DateTimeFormatter()
useUTCproperty 
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.


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

See also

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:

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.

See also

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.

See also

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.

See also

flash.globalization.DateTimeNameContext
flash.globalization.DateTimeNameStyle
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.

See also

flash.globalization.DateTimeNameContext
flash.globalization.DateTimeNameStyle
Examples
DateTimeFormatterExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<!--  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>
    
    <s:Form>
        <s:FormItem label="Input Locale ID Name">
            <s:HGroup>
                <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"/>
            </s:HGroup>
            <s:Label text="Example: 'en-US', 'fr-FR', 'ja-JP', 'ar-SA'"/>
        </s:FormItem>
        <s:FormItem label="Date Style">
            <s:DropDownList id="dateStyle" requireSelection="true"
                            change="dateTimeFormatter.dateStyle = dateTimeStyleMenuItems[dateStyle.selectedIndex]"
                            dataProvider="{dateTimeStyleMenuItems}"/>
        </s:FormItem>
        <s:FormItem label="Time Style">
            <s:DropDownList id="timeStyle" requireSelection="true"
                            change="dateTimeFormatter.timeStyle = dateTimeStyleMenuItems[timeStyle.selectedIndex]"
                            dataProvider="{dateTimeStyleMenuItems}"/>
        </s:FormItem>
        <s:FormItem label="Input Date">
            <s:TextInput id="inputDate" text="{new Date().toString()}"/>
        </s:FormItem>
        <s:FormItem label="Actual Locale ID Name">
            <s:Label text="{dateTimeFormatter.actualLocaleIDName}"/>
        </s:FormItem>
        <s:FormItem label="Formatted Result">
            <s:Label id="uiFormattedDate"
                     text="{dateTimeFormatter.format(inputDate.text)}"/>
        </s:FormItem>
    </s:Form>
</s:Application>