// |reftest| skip-if(!this.hasOwnProperty("Intl"))
const date = new Date(Date.UTC(2021, 1-1, 2, 3, 4, 5, 678));
const tests = [
// Standalone 'hour' field.
{
options: {
hour: "numeric" ,
},
locales: {
"en" : "3 AM" ,
"de" : "03 Uhr" ,
},
},
{
options: {
hour: "2-digit" ,
},
locales: {
"en" : "03 AM" ,
"de" : "03 Uhr" ,
},
},
// Standalone 'minute' field.
{
options: {
minute: "numeric" ,
},
locales: {
"en" : "4" ,
"de" : "4" ,
},
},
{
options: {
minute: "2-digit" ,
},
locales: {
"en" : "04" ,
"de" : "04" ,
},
},
// Standalone 'second' field.
{
options: {
second: "numeric" ,
},
locales: {
"en" : "5" ,
"de" : "5" ,
},
},
{
options: {
second: "2-digit" ,
},
locales: {
"en" : "05" ,
"de" : "05" ,
},
},
// 'hour' and 'minute' fields with all possible field width combinations.
{
options: {
hour: "numeric" ,
minute: "numeric" ,
},
locales: {
"en" : "3:04 AM" ,
"de" : "03:04" ,
},
},
{
options: {
hour: "numeric" ,
minute: "2-digit" ,
},
locales: {
"en" : "3:04 AM" ,
"de" : "03:04" ,
},
},
{
options: {
hour: "2-digit" ,
minute: "numeric" ,
},
locales: {
"en" : "03:04 AM" ,
"de" : "03:04" ,
},
},
{
options: {
hour: "2-digit" ,
minute: "2-digit" ,
},
locales: {
"en" : "03:04 AM" ,
"de" : "03:04" ,
},
},
// 'minute' and 'second' fields with all possible field width combinations.
{
options: {
minute: "numeric" ,
second: "numeric" ,
},
locales: {
"en" : "04:05" ,
"de" : "04:05" ,
},
},
{
options: {
minute: "numeric" ,
second: "2-digit" ,
},
locales: {
"en" : "04:05" ,
"de" : "04:05" ,
},
},
{
options: {
minute: "2-digit" ,
second: "numeric" ,
},
locales: {
"en" : "04:05" ,
"de" : "04:05" ,
},
},
{
options: {
minute: "2-digit" ,
second: "2-digit" ,
},
locales: {
"en" : "04:05" ,
"de" : "04:05" ,
},
},
// Test 'hour' and 'minute' with 'hourCycle=h12'.
{
options: {
hour: "numeric" ,
minute: "numeric" ,
hourCycle: "h12" ,
},
locales: {
"en" : "3:04 AM" ,
"de" : "3:04 AM" ,
},
},
{
options: {
hour: "2-digit" ,
minute: "2-digit" ,
hourCycle: "h12" ,
},
locales: {
"en" : "03:04 AM" ,
"de" : "03:04 AM" ,
},
},
// Test 'hour' and 'minute' with 'hourCycle=h23'.
{
options: {
hour: "numeric" ,
minute: "numeric" ,
hourCycle: "h23" ,
},
locales: {
"en" : "03:04" ,
"de" : "03:04" ,
},
},
{
options: {
hour: "2-digit" ,
minute: "2-digit" ,
hourCycle: "h23" ,
},
locales: {
"en" : "03:04" ,
"de" : "03:04" ,
},
},
];
for (let {options, locales} of tests) {
for (let [locale, expected] of Object.entries(locales)) {
let dtf = new Intl.DateTimeFormat(locale, {timeZone: "UTC" , ...options});
assertEq(dtf.format(date), expected);
}
}
const toLocaleTests = {
"en" : "1/2/2021, 3:04:05 AM" ,
"de" : "2.1.2021, 03:04:05" ,
};
for (let [locale, expected] of Object.entries(toLocaleTests)) {
assertEq(date.toLocaleString(locale, {timeZone: "UTC" }), expected);
}
const toLocaleTimeTests = {
"en" : "3:04:05 AM" ,
"de" : "03:04:05" ,
};
for (let [locale, expected] of Object.entries(toLocaleTimeTests)) {
assertEq(date.toLocaleTimeString(locale, {timeZone: "UTC" }), expected);
}
if (typeof reportCompare === "function" )
reportCompare(0, 0, "ok" );
Messung V0.5 C=91 H=97 G=93
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland