Intl.DateTimeFormat()
constructor for objects that enable language-sensitive date and time formatting.
new Intl.DateTimeFormat([locales[, options]])
locales
可选
A string with a BCP 47 language tag, or an array of such strings. To use the browser's default locale, omit this argument or pass
undefined
. Unicode extension are supported (for example "
en-US-u-ca-buddhist
"). For the general form and interpretation of the
locales
argument, see the
Intl page
. The following Unicode extension keys are allowed:
nu
arab
", "
arabext
", "
bali
", "
beng
", "
deva
", "
fullwide
", "
gujr
", "
guru
", "
hanidec
", "
khmr
", "
knda
", "
laoo
", "
latn
", "
limb
", "
mlym
", "
mong
", "
mymr
", "
orya
", "
tamldec
", "
telu
", "
thai
", "
tibt
".
ca
buddhist
", "
chinese
", "
coptic
", "
ethiopia
", "
ethiopic
", "
gregory
", "
hebrew
", "
indian
", "
islamic
", "
iso8601
", "
japanese
", "
persian
", "
roc
".
hc
h11
", "
h12
", "
h23
", "
h24
".
options
可选
An object with some or all of the following properties:
dateStyle
format()
. Possible values include:
full
"
long
"
medium
"
short
"
timeStyle
format()
. Possible values include:
full
"
long
"
medium
"
short
"
fractionalSecondDigits
format()
. Valid values are 0-3.
calendar
buddhist
", "
chinese
", "
coptic
", "
ethiopia
", "
ethiopic
", "
gregory
", "
hebrew
", "
indian
", "
islamic
", "
iso8601
", "
japanese
", "
persian
", "
roc
".
dayPeriod
narrow
", "
short
", "
long
".
numberingSystem
arab
", "
arabext
", "
bali
", "
beng
", "
deva
", "
fullwide
", "
gujr
", "
guru
", "
hanidec
", "
khmr
", "
knda
", "
laoo
", "
latn
", "
limb
", "
mlym
", "
mong
", "
mymr
", "
orya
", "
tamldec
", "
telu
", "
thai
", "
tibt
".
localeMatcher
lookup
" and "
best fit
"; the default is "
best fit
". For information about this option, see the
Intl page
.
timeZone
UTC
"; the default is the runtime's default time zone. Implementations may also recognize the time zone names of the
IANA time zone database
, such as "
Asia/Shanghai
", "
Asia/Kolkata
", "
America/New_York
".
hour12
true
and
false
; the default is locale dependent. This option overrides the
hc
language tag and/or the
hourCycle
option in case both are present.
hourCycle
h11
", "
h12
", "
h23
", or "
h24
". This option overrides the
hc
language tag, if both are present, and the
hour12
option takes precedence in case both options have been specified.
formatMatcher
basic
" and "
best fit
"; the default is "
best fit
". See the following paragraphs for information about the use of this property.
The following properties describe the date-time components to use in formatted output, and their desired representations. Implementations are required to support at least the following subsets:
weekday
,
year
,
month
,
day
,
hour
,
minute
,
second
weekday
,
year
,
month
,
day
year
,
month
,
day
year
,
month
month
,
day
hour
,
minute
,
second
hour
,
minute
Implementations may support other subsets, and requests will be negotiated against all available subset-representation combinations to find the best match. Two algorithms are available for this negotiation and selected by the
formatMatcher
property: A
fully specified "
basic
" algorithm
and an implementation-dependent "
best fit
" algorithm.
weekday
long
" (e.g.,
Thursday
)
short
" (e.g.,
Thu
)
narrow
" (e.g.,
T
). Two weekdays may have the same narrow style for some locales (e.g.
Tuesday
's narrow style is also
T
).
era
long
" (e.g.,
Anno Domini
)
short
" (e.g.,
AD
)
narrow
" (e.g.,
A
)
year
numeric
" (e.g.,
2012
)
2-digit
" (e.g.,
12
)
month
numeric
" (e.g.,
2
)
2-digit
" (e.g.,
02
)
long
" (e.g.,
March
)
short
" (e.g.,
Mar
)
narrow
" (e.g.,
M
). Two months may have the same narrow style for some locales (e.g.
May
's narrow style is also
M
).
day
numeric
" (e.g.,
1
)
2-digit
" (e.g.,
01
)
hour
numeric
", "
2-digit
".
minute
numeric
", "
2-digit
".
second
numeric
", "
2-digit
".
timeZoneName
long
" (e.g.,
British Summer Time
)
short
" (e.g.,
GMT+1
)
The default value for each date-time component property is
undefined
, but if all component properties are
undefined
, then
year
,
month
,和
day
are assumed to be "
numeric
".
DateTimeFormat
In basic use without specifying a locale,
DateTimeFormat
uses the default locale and default options.
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0)); // toLocaleString without arguments depends on the implementation, // the default locale, and the default time zone console.log(new Intl.DateTimeFormat().format(date)); // → "12/19/2012" if run with en-US locale (language) and time zone America/Los_Angeles (UTC-0800)
let o = new Intl.DateTimeFormat("en" , {
timeStyle: "short"
});
console.log(o.format(Date.now())); // "13:31 AM"
let o = new Intl.DateTimeFormat("en" , {
dateStyle: "short"
});
console.log(o.format(Date.now())); // "07/07/20"
let o = new Intl.DateTimeFormat("en" , {
timeStyle: "medium",
dateStyle: "short"
});
console.log(o.format(Date.now())); // "07/07/20, 13:31:55 AM"
| 规范 |
|---|
|
ECMAScript 国际化 API (ECMA-402)
The definition of 'Intl.DateTimeFormat' in that specification. |
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DateTimeFormat()
构造函数
|
Chrome 24 | Edge 12 | Firefox 29 | IE 11 | Opera 15 | Safari 10 | WebView Android 4.4 | Chrome Android 25 | Firefox Android 56 | Opera Android 14 | Safari iOS 10 | Samsung Internet Android 1.5 |
nodejs
13.0.0
|
dateStyle
|
Chrome 76 | Edge No | Firefox 79 | IE No | Opera 63 | Safari No | WebView Android 76 | Chrome Android 76 | Firefox Android No | Opera Android 54 | Safari iOS No | Samsung Internet Android No | nodejs 12.9.0 |
hourCycle
|
Chrome 73 | Edge 18 | Firefox 58 | IE No | Opera 60 | Safari 13 | WebView Android 73 | Chrome Android 73 | Firefox Android 58 | Opera Android 52 | Safari iOS 13 | Samsung Internet Android No | nodejs 12.0.0 |
IANA time zone names in
timeZone
option
|
Chrome 24 | Edge 14 | Firefox 52 | IE No | Opera 15 | Safari 10 | WebView Android 37 | Chrome Android 25 | Firefox Android 56 | Opera Android 14 | Safari iOS 10 | Samsung Internet Android 1.5 | nodejs 4.0.0 |
timeStyle
|
Chrome 76 | Edge No | Firefox 79 | IE No | Opera 63 | Safari No | WebView Android 76 | Chrome Android 76 | Firefox Android No | Opera Android 54 | Safari iOS No | Samsung Internet Android No | nodejs 12.9.0 |
完整支持
不支持
见实现注意事项。
The following table provides a daily implementation status for new features that has not yet reached cross-browser stability. The data is generated by running the relevant feature tests in Test262 , the standard test suite of JavaScript, in the nightly build, or latest release of each browser's JavaScript engine.
Intl
Collator
DateTimeFormat
ListFormat
NumberFormat
PluralRules
RelativeTimeFormat
Object
Object.prototype.__defineGetter__()
Object.prototype.__defineSetter__()
Object.prototype.__lookupGetter__()
Object.prototype.__lookupSetter__()
Object.prototype.hasOwnProperty()
Object.prototype.isPrototypeOf()
Object.prototype.propertyIsEnumerable()
Object.prototype.toLocaleString()
Object.prototype.toSource()
Object.prototype.toString()
Object.prototype.valueOf()
Object.setPrototypeOf()