De datum en tijd opmaken

Flash Player 10.1 of hoger, Adobe AIR 2.0 of hoger

De datum- en tijdnotaties verschillen ook aanzienlijk per regio. Hieronder ziet u hoe de tweede dag van januari 1962 (met als tijdstip 13:01) wordt weergegeven in de korte notatie van een aantal landinstellingen:

Landinstelling

Datum- en tijdnotatie

en-US (Engels, Verenigde Staten)

1/2/62 1:01pm

fr-FR (Frans, Frankrijk)

2/1/62 13:01

ja-JP (Japans, Japan)

1962/2/1 13:01

De klasse DateTimeFormatter gebruiken

Met de klasse DateTimeFormatter kunt u Date-waarden weergeven in datum- en tijdtekenreeksen volgens de conventies van een bepaalde landinstelling.

De notatie wordt bepaald door een patroontekenreeks met daarin een letterreeks die wordt vervangen met datum- en tijdwaarden. In het patroon "yyyy/MM" worden de letters "yyyy" bijvoorbeeld vervangen door een viercijferig jaar, gevolgd door het teken "/" en door een tweecijferige maand.

U kunt de patroontekenreeks precies instellen met de methode setDateTimePattern(). Het wordt echter aanbevolen dat het patroon automatisch wordt ingesteld op basis van de landinstellingen van de gebruiker en de voorkeuren van het besturingssysteem. Hierdoor is het resultaat geschikt voor de desbetreffende cultuur.

DateTimeFormatter kan de datum en tijd weergeven in drie standaardstijlen (LONG, MEDIUM and SHORT). Verder kan het patroon CUSTOM worden gebruikt. U kunt één bepaalde stijl gebruiken voor de datum en een andere voor de tijd. De werkelijke patronen die voor elke stijl worden gebruikt variëren in kleine mate per besturingssysteem.

U kunt de stijlen opgeven wanneer u een DateTimeFormatter-object maakt. Als de stijlparameters niet worden opgegeven, worden ze standaard ingesteld op DateTimeStyle.LONG. U kunt de stijlen later wijzigen met de methode setDateTimeStyles(), zoals in het volgende voorbeeld wordt aangegeven:

var date:Date = new Date(2009, 2, 27, 13, 1); 
var dtf:DateTimeFormatter = new DateTimeFormatter("en-US", 
    DateTimeStyle.LONG, DateTimeStyle.LONG); 
 
var longDate:String = dtf.format(date); 
trace(longDate); // March 27, 2009 1:01:00 PM 
 
dtf.setDateTimeStyles(DateTimeStyle.SHORT, DateTimeStyle.SHORT); 
var shortDate:String = dtf.format(date); 
trace(shortDate); // 3/27/09 1:01 PM

Namen voor dagen en maanden lokaliseren

In veel toepassingen worden lijsten met de namen van maanden en weekdagen gebruikt in agendaweergaven of keuzelijsten.

Met de methode DateTimeFormatter.getMonthNames() kunt u een gelokaliseerde lijst met de namen voor de maanden ophalen. Afhankelijk van het besturingssysteem zijn volledige namen en afkortingen beschikbaar. Geef de waarde DateTimeNameStyle.FULL door om de volledige namen voor maanden op te halen. Met de waarden DateTimeNameStyle.LONG_ABBREVIATION of DateTimeNameStyle.SHORT_ABBREVIATION krijgt u korte versies.

In sommige talen verandert de naam van de maand (in de genitief) wanneer deze naast de waarde voor de dag wordt geplaatst in een datumnotatie. Als u de naam van de maand zelfstandig wilt gebruiken, moet u de waarde DateTimeNameContext.STANDALONE doorgeven aan de methode getMonthNames(). Als u de namen van de maand wilt gebruiken in datumnotaties, moet u de waarde DateTimeNameContext.FORMAT doorgeven.

var dtf:DateTimeFormatter = new DateTimeFormatter("fr-FR"); 
var months:Vector.<String> = dtf.getMonthNames(DateTimeNameStyle.FULL, 
        DateTimeNameContext.STANDALONE); 
trace(months[0]); // janvier 
months = dtf.getMonthNames(DateTimeNameStyle.SHORT_ABBREVIATION, 
         DateTimeNameContext.STANDALONE); 
trace(months[0]); // janv.

Met de methode DateTimeFormatter.getWeekdayNames() beschikt u over een gelokaliseerde lijst met de namen voor de weekdagen. De methode getWeekdayNames() accepteert dezelfde nameStyle- en context -parameters als de methode getMonthNames().

var dtf:DateTimeFormatter = new DateTimeFormatter("fr-FR"); 
var weekdays:Vector.<String> = dtf.getWeekdayNames(DateTimeNameStyle.FULL, 
           DateTimeNameContext.STANDALONE); 
trace(weekdays[0]); // dimanche 
weekdays = dtf.getWeekdayNames(DateTimeNameStyle.LONG_ABBREVIATION, 
           DateTimeNameContext.STANDALONE); 
trace(weekdays[0]); // dim.

Bovendien retourneert de methode getFirstWeekday() de indexwaarde van de eerste weekdag die traditioneel wordt toegepast in de geselecteerde landinstellingen.