mx.formatters

# DateFormatter - AS3 Flex

Package | mx.formatters
Class | public class DateFormatter
Inheritance | DateFormatter Formatter Object
Subclasses | ExpiryDateFormat

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

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 Syntax Show MXML Syntax
Hide 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

Formatter example
Writing an error handler function for an MX formatter
Formatting dates with an MX formatter

Learn more

Formatting Data
MX formatters

Related API Elements

mx.formatters.DateBase

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | error : String Description saved by the formatter when an error occurs. | Formatter
|  | formatString : String The mask pattern. | DateFormatter

Protected Properties
Hide Inherited Protected Properties
Show Inherited Protected Properties

| Property | Defined By
--- | --- | ---
|  | resourceManager : IResourceManager [read-only] A reference to the object which manages all of the application's localized resources. | Formatter

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DateFormatter() Constructor. | DateFormatter
|  | format(value:Object):String [override] Generates a date-formatted String from either a date-formatted String or a Date object. | DateFormatter
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | parseDateString(str:String):Date [static] Converts a date that is formatted as a String into a Date object. | DateFormatter
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Protected Methods
Hide Inherited Protected Methods
Show Inherited Protected Methods

| Method | Defined By
--- | --- | ---
|  | resourcesChanged():void 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 letter | Description
--- | ---
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

D | Day 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

E | Day 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.
J | Hour in day (0-23).
H | Hour in day (1-24).
K | Hour in am/pm (0-11).
L | Hour in am/pm (1-12).
N | Minute in hour. Examples:

- N = 3
- NN = 03

S | Second in minute. Example:

- SS = 30

Q | Millisecond in second Example:

- QQ = 78
- QQQ = 078

Other text | You 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

mx.formatters.DateBase
Examples How to use this example
DateFormatterExample.mxml
Copy

    <?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>

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00