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 |
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 theformat()
method. (An empty argument is allowed.) -
"Invalid format"
means either theformatString
property is set to empty (""), or there is less than one pattern letter in theformatString
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.
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" />
More examples
Writing an error handler function for an MX formatter
Formatting dates with an MX formatter
Learn more
Related API Elements
Property | Defined By | ||
---|---|---|---|
constructor : Object
A reference to the class object or constructor function for a given object instance. | Object | ||
defaultInvalidFormatError : String [static]
Error message for an invalid format string specified to the formatter. | Formatter | ||
defaultInvalidValueError : String [static]
Error messages for an invalid value specified to the formatter. | Formatter | ||
error : String
Description saved by the formatter when an error occurs. | Formatter | ||
formatString : String
The mask pattern. | DateFormatter | ||
prototype : Object [static]
A reference to the prototype object of a class or function object. | Object |
Method | Defined By | ||
---|---|---|---|
Constructor. | DateFormatter | ||
[override]
Generates a date-formatted String from either a date-formatted String or a Date object. | DateFormatter | ||
Indicates whether an object has a specified property defined. | Object | ||
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 | ||
Indicates whether the specified property exists and is enumerable. | Object | ||
Sets the availability of a dynamic property for loop operations. | Object | ||
Returns the string representation of this object, formatted according to locale-specific conventions. | Object | ||
Returns the string representation of the specified object. | Object | ||
Returns the primitive value of the specified object. | Object |
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:
|
M | Month in year. The format depends on the following criteria:
|
D | Day in month. While a single-letter pattern string for day is valid,
you typically use a two-letter pattern string.
Examples:
|
E | Day in week. The format depends on the following criteria:
|
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:
|
S | Second in minute.
Example:
|
Q | Millisecond in second
Example:
|
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:
|
The default value is "MM/DD/YYYY".
Implementation
public function get formatString():String
public function set formatString(value:String):void
DateFormatter | () | Constructor |
public function DateFormatter()
Language Version: | ActionScript 3.0 |
Product Version: | Flex 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
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".
|
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.
|
Date — Date object.
|
Related API Elements
<?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>
Mon Nov 28 2011, 06:48 AM -08:00