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

DateFormatter  - AS3 Flex

Packagemx.formatters
Classpublic class DateFormatter
InheritanceDateFormatter Inheritance Formatter Inheritance Object
Subclasses ExpiryDateFormat

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1


Starting with Flex 4.5, Adobe recommends that you use the spark.formatters.DateTimeFormatter class as an alternative to this class.

The DateFormatter class uses a format String to return a formatted date and time String from an input String or a Date object. You can create many variations easily, including international formats.

If an error occurs, an empty String is returned and a String describing the error is saved to the error property. The error property can have one of the following values:

  • "Invalid value" means a value that is not a Date object or a is not a recognized String representation of a date is passed to the format() method. (An empty argument is allowed.)
  • "Invalid format" means either the formatString property is set to empty (""), or there is less than one pattern letter in the formatString property.

The parseDateString() method uses the mx.formatters.DateBase class to define the localized string information required to convert a date that is formatted as a String into a Date object.

MXML SyntaxexpandedHide MXML Syntax

You use the <mx:DateFormatter> tag to render date and time Strings from a Date object.

The <mx:DateFormatter> tag inherits all of the tag attributes of its superclass, and adds the following tag attributes:

  <mx:DateFormatter
    formatString="Y|M|D|A|E|H|J|K|L|N|S|Q"
   /> 
  

View the examples

More examples

Learn more

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 Inheritederror : String
Description saved by the formatter when an error occurs.
Formatter
  formatString : String
The mask pattern.
DateFormatter
Protected Properties
 PropertyDefined By
 InheritedresourceManager : IResourceManager
[read-only] A reference to the object which manages all of the application's localized resources.
Formatter
Public Methods
 MethodDefined By
  
Constructor.
DateFormatter
  
[override] Generates a date-formatted String from either a date-formatted String or a Date object.
DateFormatter
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
  
[static] Converts a date that is formatted as a String into a Date object.
DateFormatter
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 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
Protected Methods
 MethodDefined By
 Inherited
This method is called when a Formatter is constructed, and again whenever the ResourceManager dispatches a "change" Event to indicate that the localized resources have changed in some way.
Formatter
Property Detail

formatString

property
formatString:String

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

The mask pattern.

You compose a pattern String using specific uppercase letters, for example: YYYY/MM.

The DateFormatter pattern String can contain other text in addition to pattern letters. To form a valid pattern String, you only need one pattern letter.

The following table describes the valid pattern letters:

Pattern letterDescription
Y Year. If the number of pattern letters is two, the year is truncated to two digits; otherwise, it appears as four digits. The year can be zero-padded, as the third example shows in the following set of examples:
  • YY = 05
  • YYYY = 2005
  • YYYYY = 02005
M Month in year. The format depends on the following criteria:
  • If the number of pattern letters is one, the format is interpreted as numeric in one or two digits.
  • If the number of pattern letters is two, the format is interpreted as numeric in two digits.
  • If the number of pattern letters is three, the format is interpreted as short text.
  • If the number of pattern letters is four, the format is interpreted as full text.
Examples:
  • M = 7
  • MM= 07
  • MMM=Jul
  • MMMM= July
DDay in month. While a single-letter pattern string for day is valid, you typically use a two-letter pattern string.

Examples:

  • D=4
  • DD=04
  • DD=10
EDay in week. The format depends on the following criteria:
  • If the number of pattern letters is one, the format is interpreted as numeric in one or two digits.
  • If the number of pattern letters is two, the format is interpreted as numeric in two digits.
  • If the number of pattern letters is three, the format is interpreted as short text.
  • If the number of pattern letters is four, the format is interpreted as full text.
Examples:
  • E = 1
  • EE = 01
  • EEE = Mon
  • EEEE = Monday
A am/pm indicator.
JHour in day (0-23).
HHour in day (1-24).
KHour in am/pm (0-11).
LHour in am/pm (1-12).
NMinute in hour.

Examples:

  • N = 3
  • NN = 03
SSecond in minute.

Example:

  • SS = 30
QMillisecond in second

Example:

  • QQ = 78
  • QQQ = 078
Other textYou can add other text into the pattern string to further format the string. You can use punctuation, numbers, and all lowercase letters. You should avoid uppercase letters because they may be interpreted as pattern letters.

Example:

  • EEEE, MMM. D, YYYY at L:NN:QQQ A = Tuesday, Sept. 8, 2005 at 1:26:012 PM

The default value is "MM/DD/YYYY".



Implementation
    public function get formatString():String
    public function set formatString(value:String):void
Constructor Detail

DateFormatter

()Constructor
public function DateFormatter()

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Constructor.

Method Detail

format

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

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Generates a date-formatted String from either a date-formatted String or a Date object. The formatString property determines the format of the output String. If value cannot be formatted, return an empty String and write a description of the error to the error property.

Parameters

value:Object — Date to format. This can be a Date object, or a date-formatted String such as "Thursday, April 22, 2004".

Returns
String — Formatted String. Empty if an error occurs. A description of the error condition is written to the error property.

parseDateString

()method 
public static function parseDateString(str:String):Date

Language Version: ActionScript 3.0
Product Version: Flex 3
Runtime Versions: Flash Player 9, AIR 1.1

Converts a date that is formatted as a String into a Date object. Month and day names must match the names in mx.formatters.DateBase. The hour value in the String must be between 0 and 23, inclusive. The minutes and seconds value must be between 0 and 59, inclusive. The following example uses this method to create a Date object:

      var myDate:Date = DateFormatter.parseDateString("2009-12-02 23:45:30"); 

Parameters

str:String — Date that is formatted as a String.

Returns
Date — Date object.

Related API Elements

DateFormatterExample.mxml
<?xml version="1.0" encoding="utf-8"?>
<!-- Simple example to demonstrate the DateFormatter. -->
<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:Script>
        <![CDATA[
            import mx.events.ValidationResultEvent;

            private var vResult:ValidationResultEvent;

            // Event handler to validate and format input.
            private function Format():void {
                vResult = dateVal.validate();
                if (vResult.type == ValidationResultEvent.VALID) {
                    formattedDate.text = dateFormatter.format(dob.text);
                } else {
                    formattedDate.text = "";
                }
            }
        ]]>
    </fx:Script>

    <fx:Declarations>
        <mx:DateFormatter id="dateFormatter" formatString="month: MM, day: DD, year: YYYY"/>
        <mx:DateValidator id="dateVal" source="{dob}" property="text" inputFormat="mm/dd/yyyy"/>
    </fx:Declarations>

    <s:Panel title="DateFormatter Example" width="75%" height="75%" horizontalCenter="0" verticalCenter="0">
        <mx:Form left="10" right="10" top="10" bottom="10">
            <mx:FormItem label="Enter date (mm/dd/yyyy):" width="100%">
                <s:TextInput id="dob" text=""/>
            </mx:FormItem>
            <mx:FormItem label="Formatted date: " width="100%">
                <s:TextInput id="formattedDate" text="" editable="false"/>
            </mx:FormItem>
            <mx:FormItem>
                <s:Button label="Validate and Format" click="Format();"/>
            </mx:FormItem>
        </mx:Form>
    </s:Panel>

</s:Application>