date-format-to-parts.js 962 Bytes
Newer Older
1 2 3 4 5 6 7
// Copyright 2016 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

var d = new Date(2016, 11, 15, 14, 10, 34);
var df = Intl.DateTimeFormat("ja",
    {hour: 'numeric', minute: 'numeric', second: 'numeric', year: 'numeric',
8 9
     month: 'numeric', day: 'numeric', timeZoneName: 'short', era: 'short',
     hour12: true});
10 11 12 13 14 15

var formattedParts = df.formatToParts(d);

var formattedReconstructedFromParts = formattedParts.map((part) => part.value)
    .reduce((accumulated, part) => accumulated + part);
assertEquals(df.format(d), formattedReconstructedFromParts);
16
// 西暦2016年11月15日 午後02:10:34 GMT-7
17
assertEquals(["era", "year", "literal", "month", "literal", "day", "literal",
18 19 20
              "dayPeriod", "hour", "literal", "minute", "literal", "second",
              "literal", "timeZoneName"
             ], formattedParts.map((part) => part.type));