无论如何,我们可以使用JavaScript知道控制面板中使用的短日期格式 - >区域和语言设置?
我知道使用以下组合我们可以获得Locale Long Name格式
toString()
toLocaleString()
toLocaleDateString()
toLocaleTimeString()
但是像toLocaleShortDateString()
这样的JavaScript没有直接的功能。
是否有任何脚本可以找出用户设置是什么?
感谢。
答案 0 :(得分:96)
function getLocaleDateString(){
var formats = {
"ar-SA" : "dd/MM/yy",
"bg-BG" : "dd.M.yyyy",
"ca-ES" : "dd/MM/yyyy",
"zh-TW" : "yyyy/M/d",
"cs-CZ" : "d.M.yyyy",
"da-DK" : "dd-MM-yyyy",
"de-DE" : "dd.MM.yyyy",
"el-GR" : "d/M/yyyy",
"en-US" : "M/d/yyyy",
"fi-FI" : "d.M.yyyy",
"fr-FR" : "dd/MM/yyyy",
"he-IL" : "dd/MM/yyyy",
"hu-HU" : "yyyy. MM. dd.",
"is-IS" : "d.M.yyyy",
"it-IT" : "dd/MM/yyyy",
"ja-JP" : "yyyy/MM/dd",
"ko-KR" : "yyyy-MM-dd",
"nl-NL" : "d-M-yyyy",
"nb-NO" : "dd.MM.yyyy",
"pl-PL" : "yyyy-MM-dd",
"pt-BR" : "d/M/yyyy",
"ro-RO" : "dd.MM.yyyy",
"ru-RU" : "dd.MM.yyyy",
"hr-HR" : "d.M.yyyy",
"sk-SK" : "d. M. yyyy",
"sq-AL" : "yyyy-MM-dd",
"sv-SE" : "yyyy-MM-dd",
"th-TH" : "d/M/yyyy",
"tr-TR" : "dd.MM.yyyy",
"ur-PK" : "dd/MM/yyyy",
"id-ID" : "dd/MM/yyyy",
"uk-UA" : "dd.MM.yyyy",
"be-BY" : "dd.MM.yyyy",
"sl-SI" : "d.M.yyyy",
"et-EE" : "d.MM.yyyy",
"lv-LV" : "yyyy.MM.dd.",
"lt-LT" : "yyyy.MM.dd",
"fa-IR" : "MM/dd/yyyy",
"vi-VN" : "dd/MM/yyyy",
"hy-AM" : "dd.MM.yyyy",
"az-Latn-AZ" : "dd.MM.yyyy",
"eu-ES" : "yyyy/MM/dd",
"mk-MK" : "dd.MM.yyyy",
"af-ZA" : "yyyy/MM/dd",
"ka-GE" : "dd.MM.yyyy",
"fo-FO" : "dd-MM-yyyy",
"hi-IN" : "dd-MM-yyyy",
"ms-MY" : "dd/MM/yyyy",
"kk-KZ" : "dd.MM.yyyy",
"ky-KG" : "dd.MM.yy",
"sw-KE" : "M/d/yyyy",
"uz-Latn-UZ" : "dd/MM yyyy",
"tt-RU" : "dd.MM.yyyy",
"pa-IN" : "dd-MM-yy",
"gu-IN" : "dd-MM-yy",
"ta-IN" : "dd-MM-yyyy",
"te-IN" : "dd-MM-yy",
"kn-IN" : "dd-MM-yy",
"mr-IN" : "dd-MM-yyyy",
"sa-IN" : "dd-MM-yyyy",
"mn-MN" : "yy.MM.dd",
"gl-ES" : "dd/MM/yy",
"kok-IN" : "dd-MM-yyyy",
"syr-SY" : "dd/MM/yyyy",
"dv-MV" : "dd/MM/yy",
"ar-IQ" : "dd/MM/yyyy",
"zh-CN" : "yyyy/M/d",
"de-CH" : "dd.MM.yyyy",
"en-GB" : "dd/MM/yyyy",
"es-MX" : "dd/MM/yyyy",
"fr-BE" : "d/MM/yyyy",
"it-CH" : "dd.MM.yyyy",
"nl-BE" : "d/MM/yyyy",
"nn-NO" : "dd.MM.yyyy",
"pt-PT" : "dd-MM-yyyy",
"sr-Latn-CS" : "d.M.yyyy",
"sv-FI" : "d.M.yyyy",
"az-Cyrl-AZ" : "dd.MM.yyyy",
"ms-BN" : "dd/MM/yyyy",
"uz-Cyrl-UZ" : "dd.MM.yyyy",
"ar-EG" : "dd/MM/yyyy",
"zh-HK" : "d/M/yyyy",
"de-AT" : "dd.MM.yyyy",
"en-AU" : "d/MM/yyyy",
"es-ES" : "dd/MM/yyyy",
"fr-CA" : "yyyy-MM-dd",
"sr-Cyrl-CS" : "d.M.yyyy",
"ar-LY" : "dd/MM/yyyy",
"zh-SG" : "d/M/yyyy",
"de-LU" : "dd.MM.yyyy",
"en-CA" : "dd/MM/yyyy",
"es-GT" : "dd/MM/yyyy",
"fr-CH" : "dd.MM.yyyy",
"ar-DZ" : "dd-MM-yyyy",
"zh-MO" : "d/M/yyyy",
"de-LI" : "dd.MM.yyyy",
"en-NZ" : "d/MM/yyyy",
"es-CR" : "dd/MM/yyyy",
"fr-LU" : "dd/MM/yyyy",
"ar-MA" : "dd-MM-yyyy",
"en-IE" : "dd/MM/yyyy",
"es-PA" : "MM/dd/yyyy",
"fr-MC" : "dd/MM/yyyy",
"ar-TN" : "dd-MM-yyyy",
"en-ZA" : "yyyy/MM/dd",
"es-DO" : "dd/MM/yyyy",
"ar-OM" : "dd/MM/yyyy",
"en-JM" : "dd/MM/yyyy",
"es-VE" : "dd/MM/yyyy",
"ar-YE" : "dd/MM/yyyy",
"en-029" : "MM/dd/yyyy",
"es-CO" : "dd/MM/yyyy",
"ar-SY" : "dd/MM/yyyy",
"en-BZ" : "dd/MM/yyyy",
"es-PE" : "dd/MM/yyyy",
"ar-JO" : "dd/MM/yyyy",
"en-TT" : "dd/MM/yyyy",
"es-AR" : "dd/MM/yyyy",
"ar-LB" : "dd/MM/yyyy",
"en-ZW" : "M/d/yyyy",
"es-EC" : "dd/MM/yyyy",
"ar-KW" : "dd/MM/yyyy",
"en-PH" : "M/d/yyyy",
"es-CL" : "dd-MM-yyyy",
"ar-AE" : "dd/MM/yyyy",
"es-UY" : "dd/MM/yyyy",
"ar-BH" : "dd/MM/yyyy",
"es-PY" : "dd/MM/yyyy",
"ar-QA" : "dd/MM/yyyy",
"es-BO" : "dd/MM/yyyy",
"es-SV" : "dd/MM/yyyy",
"es-HN" : "dd/MM/yyyy",
"es-NI" : "dd/MM/yyyy",
"es-PR" : "dd/MM/yyyy",
"am-ET" : "d/M/yyyy",
"tzm-Latn-DZ" : "dd-MM-yyyy",
"iu-Latn-CA" : "d/MM/yyyy",
"sma-NO" : "dd.MM.yyyy",
"mn-Mong-CN" : "yyyy/M/d",
"gd-GB" : "dd/MM/yyyy",
"en-MY" : "d/M/yyyy",
"prs-AF" : "dd/MM/yy",
"bn-BD" : "dd-MM-yy",
"wo-SN" : "dd/MM/yyyy",
"rw-RW" : "M/d/yyyy",
"qut-GT" : "dd/MM/yyyy",
"sah-RU" : "MM.dd.yyyy",
"gsw-FR" : "dd/MM/yyyy",
"co-FR" : "dd/MM/yyyy",
"oc-FR" : "dd/MM/yyyy",
"mi-NZ" : "dd/MM/yyyy",
"ga-IE" : "dd/MM/yyyy",
"se-SE" : "yyyy-MM-dd",
"br-FR" : "dd/MM/yyyy",
"smn-FI" : "d.M.yyyy",
"moh-CA" : "M/d/yyyy",
"arn-CL" : "dd-MM-yyyy",
"ii-CN" : "yyyy/M/d",
"dsb-DE" : "d. M. yyyy",
"ig-NG" : "d/M/yyyy",
"kl-GL" : "dd-MM-yyyy",
"lb-LU" : "dd/MM/yyyy",
"ba-RU" : "dd.MM.yy",
"nso-ZA" : "yyyy/MM/dd",
"quz-BO" : "dd/MM/yyyy",
"yo-NG" : "d/M/yyyy",
"ha-Latn-NG" : "d/M/yyyy",
"fil-PH" : "M/d/yyyy",
"ps-AF" : "dd/MM/yy",
"fy-NL" : "d-M-yyyy",
"ne-NP" : "M/d/yyyy",
"se-NO" : "dd.MM.yyyy",
"iu-Cans-CA" : "d/M/yyyy",
"sr-Latn-RS" : "d.M.yyyy",
"si-LK" : "yyyy-MM-dd",
"sr-Cyrl-RS" : "d.M.yyyy",
"lo-LA" : "dd/MM/yyyy",
"km-KH" : "yyyy-MM-dd",
"cy-GB" : "dd/MM/yyyy",
"bo-CN" : "yyyy/M/d",
"sms-FI" : "d.M.yyyy",
"as-IN" : "dd-MM-yyyy",
"ml-IN" : "dd-MM-yy",
"en-IN" : "dd-MM-yyyy",
"or-IN" : "dd-MM-yy",
"bn-IN" : "dd-MM-yy",
"tk-TM" : "dd.MM.yy",
"bs-Latn-BA" : "d.M.yyyy",
"mt-MT" : "dd/MM/yyyy",
"sr-Cyrl-ME" : "d.M.yyyy",
"se-FI" : "d.M.yyyy",
"zu-ZA" : "yyyy/MM/dd",
"xh-ZA" : "yyyy/MM/dd",
"tn-ZA" : "yyyy/MM/dd",
"hsb-DE" : "d. M. yyyy",
"bs-Cyrl-BA" : "d.M.yyyy",
"tg-Cyrl-TJ" : "dd.MM.yy",
"sr-Latn-BA" : "d.M.yyyy",
"smj-NO" : "dd.MM.yyyy",
"rm-CH" : "dd/MM/yyyy",
"smj-SE" : "yyyy-MM-dd",
"quz-EC" : "dd/MM/yyyy",
"quz-PE" : "dd/MM/yyyy",
"hr-BA" : "d.M.yyyy.",
"sr-Latn-ME" : "d.M.yyyy",
"sma-SE" : "yyyy-MM-dd",
"en-SG" : "d/M/yyyy",
"ug-CN" : "yyyy-M-d",
"sr-Cyrl-BA" : "d.M.yyyy",
"es-US" : "M/d/yyyy"
};
return formats[navigator.language] || 'dd/MM/yyyy';
}
答案 1 :(得分:37)
我认为这是最好的方法......
var date = new Date();
var options = {
weekday: "short",
year: "numeric",
month: "2-digit",
day: "numeric"
};
console.log(
date.toLocaleDateString("en", options) //en is language option, you may specify..
);
更多选项及其示例......
Option Values and sample output
weekday narrow M
short Mon
long Monday
year 2-digit 01
numeric 2001
month 2-digit 01
numeric 1
narrow J
short Jan
long January
day 2-digit 01
numeric 1
hour 2-digit 12 AM
numeric 12 AM
minute 2-digit 0
numeric 0
second 2-digit 0
numeric 0
timeZoneName short 1/1/2001 GMT+00:00
long 1/1/2001 GMT+00:00
答案 2 :(得分:13)
function getLocaleShortDateString(d)
{
var f={"ar-SA":"dd/MM/yy","bg-BG":"dd.M.yyyy","ca-ES":"dd/MM/yyyy","zh-TW":"yyyy/M/d","cs-CZ":"d.M.yyyy","da-DK":"dd-MM-yyyy","de-DE":"dd.MM.yyyy","el-GR":"d/M/yyyy","en-US":"M/d/yyyy","fi-FI":"d.M.yyyy","fr-FR":"dd/MM/yyyy","he-IL":"dd/MM/yyyy","hu-HU":"yyyy. MM. dd.","is-IS":"d.M.yyyy","it-IT":"dd/MM/yyyy","ja-JP":"yyyy/MM/dd","ko-KR":"yyyy-MM-dd","nl-NL":"d-M-yyyy","nb-NO":"dd.MM.yyyy","pl-PL":"yyyy-MM-dd","pt-BR":"d/M/yyyy","ro-RO":"dd.MM.yyyy","ru-RU":"dd.MM.yyyy","hr-HR":"d.M.yyyy","sk-SK":"d. M. yyyy","sq-AL":"yyyy-MM-dd","sv-SE":"yyyy-MM-dd","th-TH":"d/M/yyyy","tr-TR":"dd.MM.yyyy","ur-PK":"dd/MM/yyyy","id-ID":"dd/MM/yyyy","uk-UA":"dd.MM.yyyy","be-BY":"dd.MM.yyyy","sl-SI":"d.M.yyyy","et-EE":"d.MM.yyyy","lv-LV":"yyyy.MM.dd.","lt-LT":"yyyy.MM.dd","fa-IR":"MM/dd/yyyy","vi-VN":"dd/MM/yyyy","hy-AM":"dd.MM.yyyy","az-Latn-AZ":"dd.MM.yyyy","eu-ES":"yyyy/MM/dd","mk-MK":"dd.MM.yyyy","af-ZA":"yyyy/MM/dd","ka-GE":"dd.MM.yyyy","fo-FO":"dd-MM-yyyy","hi-IN":"dd-MM-yyyy","ms-MY":"dd/MM/yyyy","kk-KZ":"dd.MM.yyyy","ky-KG":"dd.MM.yy","sw-KE":"M/d/yyyy","uz-Latn-UZ":"dd/MM yyyy","tt-RU":"dd.MM.yyyy","pa-IN":"dd-MM-yy","gu-IN":"dd-MM-yy","ta-IN":"dd-MM-yyyy","te-IN":"dd-MM-yy","kn-IN":"dd-MM-yy","mr-IN":"dd-MM-yyyy","sa-IN":"dd-MM-yyyy","mn-MN":"yy.MM.dd","gl-ES":"dd/MM/yy","kok-IN":"dd-MM-yyyy","syr-SY":"dd/MM/yyyy","dv-MV":"dd/MM/yy","ar-IQ":"dd/MM/yyyy","zh-CN":"yyyy/M/d","de-CH":"dd.MM.yyyy","en-GB":"dd/MM/yyyy","es-MX":"dd/MM/yyyy","fr-BE":"d/MM/yyyy","it-CH":"dd.MM.yyyy","nl-BE":"d/MM/yyyy","nn-NO":"dd.MM.yyyy","pt-PT":"dd-MM-yyyy","sr-Latn-CS":"d.M.yyyy","sv-FI":"d.M.yyyy","az-Cyrl-AZ":"dd.MM.yyyy","ms-BN":"dd/MM/yyyy","uz-Cyrl-UZ":"dd.MM.yyyy","ar-EG":"dd/MM/yyyy","zh-HK":"d/M/yyyy","de-AT":"dd.MM.yyyy","en-AU":"d/MM/yyyy","es-ES":"dd/MM/yyyy","fr-CA":"yyyy-MM-dd","sr-Cyrl-CS":"d.M.yyyy","ar-LY":"dd/MM/yyyy","zh-SG":"d/M/yyyy","de-LU":"dd.MM.yyyy","en-CA":"dd/MM/yyyy","es-GT":"dd/MM/yyyy","fr-CH":"dd.MM.yyyy","ar-DZ":"dd-MM-yyyy","zh-MO":"d/M/yyyy","de-LI":"dd.MM.yyyy","en-NZ":"d/MM/yyyy","es-CR":"dd/MM/yyyy","fr-LU":"dd/MM/yyyy","ar-MA":"dd-MM-yyyy","en-IE":"dd/MM/yyyy","es-PA":"MM/dd/yyyy","fr-MC":"dd/MM/yyyy","ar-TN":"dd-MM-yyyy","en-ZA":"yyyy/MM/dd","es-DO":"dd/MM/yyyy","ar-OM":"dd/MM/yyyy","en-JM":"dd/MM/yyyy","es-VE":"dd/MM/yyyy","ar-YE":"dd/MM/yyyy","en-029":"MM/dd/yyyy","es-CO":"dd/MM/yyyy","ar-SY":"dd/MM/yyyy","en-BZ":"dd/MM/yyyy","es-PE":"dd/MM/yyyy","ar-JO":"dd/MM/yyyy","en-TT":"dd/MM/yyyy","es-AR":"dd/MM/yyyy","ar-LB":"dd/MM/yyyy","en-ZW":"M/d/yyyy","es-EC":"dd/MM/yyyy","ar-KW":"dd/MM/yyyy","en-PH":"M/d/yyyy","es-CL":"dd-MM-yyyy","ar-AE":"dd/MM/yyyy","es-UY":"dd/MM/yyyy","ar-BH":"dd/MM/yyyy","es-PY":"dd/MM/yyyy","ar-QA":"dd/MM/yyyy","es-BO":"dd/MM/yyyy","es-SV":"dd/MM/yyyy","es-HN":"dd/MM/yyyy","es-NI":"dd/MM/yyyy","es-PR":"dd/MM/yyyy","am-ET":"d/M/yyyy","tzm-Latn-DZ":"dd-MM-yyyy","iu-Latn-CA":"d/MM/yyyy","sma-NO":"dd.MM.yyyy","mn-Mong-CN":"yyyy/M/d","gd-GB":"dd/MM/yyyy","en-MY":"d/M/yyyy","prs-AF":"dd/MM/yy","bn-BD":"dd-MM-yy","wo-SN":"dd/MM/yyyy","rw-RW":"M/d/yyyy","qut-GT":"dd/MM/yyyy","sah-RU":"MM.dd.yyyy","gsw-FR":"dd/MM/yyyy","co-FR":"dd/MM/yyyy","oc-FR":"dd/MM/yyyy","mi-NZ":"dd/MM/yyyy","ga-IE":"dd/MM/yyyy","se-SE":"yyyy-MM-dd","br-FR":"dd/MM/yyyy","smn-FI":"d.M.yyyy","moh-CA":"M/d/yyyy","arn-CL":"dd-MM-yyyy","ii-CN":"yyyy/M/d","dsb-DE":"d. M. yyyy","ig-NG":"d/M/yyyy","kl-GL":"dd-MM-yyyy","lb-LU":"dd/MM/yyyy","ba-RU":"dd.MM.yy","nso-ZA":"yyyy/MM/dd","quz-BO":"dd/MM/yyyy","yo-NG":"d/M/yyyy","ha-Latn-NG":"d/M/yyyy","fil-PH":"M/d/yyyy","ps-AF":"dd/MM/yy","fy-NL":"d-M-yyyy","ne-NP":"M/d/yyyy","se-NO":"dd.MM.yyyy","iu-Cans-CA":"d/M/yyyy","sr-Latn-RS":"d.M.yyyy","si-LK":"yyyy-MM-dd","sr-Cyrl-RS":"d.M.yyyy","lo-LA":"dd/MM/yyyy","km-KH":"yyyy-MM-dd","cy-GB":"dd/MM/yyyy","bo-CN":"yyyy/M/d","sms-FI":"d.M.yyyy","as-IN":"dd-MM-yyyy","ml-IN":"dd-MM-yy","en-IN":"dd-MM-yyyy","or-IN":"dd-MM-yy","bn-IN":"dd-MM-yy","tk-TM":"dd.MM.yy","bs-Latn-BA":"d.M.yyyy","mt-MT":"dd/MM/yyyy","sr-Cyrl-ME":"d.M.yyyy","se-FI":"d.M.yyyy","zu-ZA":"yyyy/MM/dd","xh-ZA":"yyyy/MM/dd","tn-ZA":"yyyy/MM/dd","hsb-DE":"d. M. yyyy","bs-Cyrl-BA":"d.M.yyyy","tg-Cyrl-TJ":"dd.MM.yy","sr-Latn-BA":"d.M.yyyy","smj-NO":"dd.MM.yyyy","rm-CH":"dd/MM/yyyy","smj-SE":"yyyy-MM-dd","quz-EC":"dd/MM/yyyy","quz-PE":"dd/MM/yyyy","hr-BA":"d.M.yyyy.","sr-Latn-ME":"d.M.yyyy","sma-SE":"yyyy-MM-dd","en-SG":"d/M/yyyy","ug-CN":"yyyy-M-d","sr-Cyrl-BA":"d.M.yyyy","es-US":"M/d/yyyy"};
var l=navigator.language?navigator.language:navigator['userLanguage'],y=d.getFullYear(),m=d.getMonth()+1,d=d.getDate();
f=(l in f)?f[l]:"MM/dd/yyyy";
function z(s){s=''+s;return s.length>1?s:'0'+s;}
f=f.replace(/yyyy/,y);f=f.replace(/yy/,String(y).substr(2));
f=f.replace(/MM/,z(m));f=f.replace(/M/,m);
f=f.replace(/dd/,z(d));f=f.replace(/d/,d);
return f;
}
使用:
shortedDate=getLocaleShortDateString(new Date(1992, 0, 7));
答案 3 :(得分:8)
无法完成。
跨浏览器JavaScript无法使用用户在提供此类区域自定义的平台上选择的实际短日期格式。此外,JavaScript存在巨大的漏洞,其中涉及任何类型的格式。看看零填充是多么麻烦!
您可以不遗余力地获取语言设置,并获取该语言环境的典型格式。当你甚至不知道它是否是正确的语言环境时(我敢打赌,国际语言标题通常不正确或不够具体),或者如果用户已将格式定制为其他内容,这是很多工作。
您可以尝试使用客户端VBScript(它具有所有这些区域格式排列的功能),但这不是一个好主意,因为它是一种垂死的(死的?)特定于IE的技术。
您还可以尝试使用Java / Flash / Silverlight来挖掘格式。这也是一项额外的工作,但可能是获得成功的最佳机会。您希望为会话缓存它以最小化开销。
希望HTML5< time>元素将为i18n日期/时间显示提供一些缓解。
答案 4 :(得分:6)
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
Intl.DateTimeFormat对象是对象的构造函数 启用语言敏感的日期和时间格式。
var date = new Date(2014, 11, 31, 12, 30, 0);
var formatter = new Intl.DateTimeFormat("ru");
console.log( formatter.format(date) ); // 31.12.2014
var formatter = new Intl.DateTimeFormat("en-US");
console.log(formatter.format(date)); // 12/31/2014
当前区域的格式:
console.log(new Intl.DateTimeFormat(Intl.DateTimeFormat().resolvedOptions().locale).
format(new Date()))
答案 5 :(得分:5)
我不知道如何做到这一点(你可以get the language并尝试从中扣除语言环境。)
我尝试做一些尝试做的事情(仅在具有一个语言环境的Firefox上测试)。只要短日期字符串包含日期作为数字,就应该工作,所以它可能会失败,比如阿拉伯语。它可能还有其他错误,我不知道所有不同的locales特性,这只是一个概念......
function getShortDateFormat() {
var d = new Date(1992, 0, 7);
var s = d.toLocaleDateString();
function formatReplacer(str) {
var num = parseInt(str);
switch (num % 100) {
case 92:
return str.replace(/.{1}/g, "Y");
case 1:
return str.length == 1 ? "mM" : "MM"
case 7:
return str.length == 1 ? "dD" : "DD"
}
}
shortDateFormat = s.replace(/\d+/g, formatReplacer);
return shortDateFormat;
}
getShortDateFormat();
输出的格式为:
所以在我的浏览器中,你得到的shortDateformat是“MM / DD / YYYY”。
答案 6 :(得分:5)
如果您对<input type="date">
字段提出问题,请按以下方式获取归档value=""
属性的脚本:
(new Date()).toISOString().split('T')[0]
您可以使用Intl对象(ecma-402)获取data-date-pattern=""
:
(new Intl.DateTimeFormat()).resolved.pattern // "M/d/y" for "en-US" in Google Chrome
最后,要格式化当前l10n中的日期,data-date=""
:
(new Intl.DateTimeFormat()).format(new Date());
答案 7 :(得分:4)
function getDatePattern(locale) {
// expected style = year: 2010, month: 12, day: 31
var options = { year: "numeric", month: "2-digit", day: "2-digit" };
// formatToParts() returns array of object breaking down the locales dateformat
// [
// {type: "month", value: "03"},
// {type: "literal", value: "/"},
// {type: "day", value: "30"},
// {type: "literal", value: "/"},
// {type: "year", value: "2021"},
// ]
var formatter = new Intl.DateTimeFormat(locale, options).formatToParts();
return formatter.map(function(e) {
switch(e.type) {
case 'month':
return 'MM'; break;
case 'day':
return 'DD'; break;
case 'year':
return 'YYYY'; break;
default:
return e.value;
};
}).join('');
}
// "YYYY/MM/DD"
console.log(getDatePattern('en'));
// "YYYY. MM. DD."
console.log(getDatePattern('ko'));
答案 8 :(得分:3)
短日期模式:
const shortDatePatterns = {
'aa-DJ': "dd/MM/yyyy",
'aa-ER': "dd/MM/yyyy",
'aa-ET': "dd/MM/yyyy",
'af': "yyyy-MM-dd",
'af-NA': "yyyy-MM-dd",
'af-ZA': "yyyy-MM-dd",
'agq-CM': "d/M/yyyy",
'ak-GH': "yyyy/MM/dd",
'am': "dd/MM/yyyy",
'am-ET': "dd/MM/yyyy",
'ar': "dd/MM/yy",
'ar-001': "d/M/yyyy",
'ar-AE': "dd/MM/yyyy",
'ar-BH': "dd/MM/yyyy",
'ar-DJ': "d/M/yyyy",
'ar-DZ': "dd-MM-yyyy",
'ar-EG': "dd/MM/yyyy",
'ar-ER': "d/M/yyyy",
'ar-IL': "d/M/yyyy",
'ar-IQ': "dd/MM/yyyy",
'ar-JO': "dd/MM/yyyy",
'ar-KM': "d/M/yyyy",
'ar-KW': "dd/MM/yyyy",
'ar-LB': "dd/MM/yyyy",
'ar-LY': "dd/MM/yyyy",
'ar-MA': "dd-MM-yyyy",
'ar-MR': "d/M/yyyy",
'ar-OM': "dd/MM/yyyy",
'ar-PS': "d/M/yyyy",
'ar-QA': "dd/MM/yyyy",
'ar-SA': "dd/MM/yy",
'ar-SD': "d/M/yyyy",
'ar-SO': "d/M/yyyy",
'ar-SS': "d/M/yyyy",
'ar-SY': "dd/MM/yyyy",
'ar-TD': "d/M/yyyy",
'ar-TN': "dd-MM-yyyy",
'ar-YE': "dd/MM/yyyy",
'arn-CL': "dd-MM-yyyy",
'as': "dd-MM-yyyy",
'as-IN': "dd-MM-yyyy",
'asa-TZ': "dd/MM/yyyy",
'ast-ES': "d/M/yyyy",
'az': "dd.MM.yyyy",
'az-Cyrl-AZ': "dd.MM.yyyy",
'az-Latn-AZ': "dd.MM.yyyy",
'ba': "dd.MM.yy",
'ba-RU': "dd.MM.yy",
'bas-CM': "d/M/yyyy",
'be': "dd.MM.yy",
'be-BY': "dd.MM.yy",
'bem-ZM': "dd/MM/yyyy",
'bez-TZ': "dd/MM/yyyy",
'bg': "d.M.yyyy 'г.'",
'bg-BG': "d.M.yyyy 'г.'",
'bin-NG': "d/M/yyyy",
'bm': "d/M/yyyy",
'bm-Latn-ML': "d/M/yyyy",
'bn': "d/M/yyyy",
'bn-BD': "d/M/yyyy",
'bn-IN': "dd-MM-yy",
'bo': "yyyy/M/d",
'bo-CN': "yyyy/M/d",
'bo-IN': "yyyy-MM-dd",
'br': "dd/MM/yyyy",
'br-FR': "dd/MM/yyyy",
'brx-IN': "M/d/yyyy",
'bs': "d.M.yyyy.",
'bs-Cyrl-BA': "d.M.yyyy",
'bs-Latn-BA': "d.M.yyyy.",
'byn-ER': "dd/MM/yyyy",
'ca': "d/M/yyyy",
'ca-AD': "d/M/yyyy",
'ca-ES': "d/M/yyyy",
'ca-ES-valencia': "d/M/yyyy",
'ca-FR': "d/M/yyyy",
'ca-IT': "d/M/yyyy",
'ce-RU': "yyyy-MM-dd",
'cgg-UG': "dd/MM/yyyy",
'chr-Cher-US': "M/d/yyyy",
'co': "dd/MM/yyyy",
'co-FR': "dd/MM/yyyy",
'cs-CZ': "dd.MM.yyyy",
'cu': "yyyy.MM.dd",
'cu-RU': "yyyy.MM.dd",
'cy': "dd/MM/yyyy",
'cy-GB': "dd/MM/yyyy",
'da-DK': "dd-MM-yyyy",
'da-GL': "dd/MM/yyyy",
'dav-KE': "dd/MM/yyyy",
'de': "dd.MM.yyyy",
'de-AT': "dd.MM.yyyy",
'de-BE': "dd.MM.yyyy",
'de-CH': "dd.MM.yyyy",
'de-DE': "dd.MM.yyyy",
'de-IT': "dd.MM.yyyy",
'de-LI': "dd.MM.yyyy",
'de-LU': "dd.MM.yyyy",
'dje-NE': "d/M/yyyy",
'dsb-DE': "d. M. yyyy",
'dua-CM': "d/M/yyyy",
'dv-MV': "dd/MM/yy",
'dyo-SN': "d/M/yyyy",
'dz': "yyyy-MM-dd",
'dz-BT': "yyyy-MM-dd",
'ebu-KE': "dd/MM/yyyy",
'ee': "M/d/yyyy",
'ee-GH': "M/d/yyyy",
'ee-TG': "M/d/yyyy",
'el-CY': "d/M/yyyy",
'el-GR': "d/M/yyyy",
'en-001': "dd/MM/yyyy",
'en-029': "dd/MM/yyyy",
'en-150': "dd/MM/yyyy",
'en-AG': "dd/MM/yyyy",
'en-AI': "dd/MM/yyyy",
'en-AS': "M/d/yyyy",
'en-AT': "dd/MM/yyyy",
'en-AU': "d/MM/yyyy",
'en-BB': "dd/MM/yyyy",
'en-BE': "dd/MM/yyyy",
'en-BI': "M/d/yyyy",
'en-BM': "dd/MM/yyyy",
'en-BS': "dd/MM/yyyy",
'en-BW': "dd/MM/yyyy",
'en-BZ': "dd/MM/yyyy",
'en-CA': "yyyy-MM-dd",
'en-CC': "dd/MM/yyyy",
'en-CH': "dd/MM/yyyy",
'en-CK': "dd/MM/yyyy",
'en-CM': "dd/MM/yyyy",
'en-CX': "dd/MM/yyyy",
'en-CY': "dd/MM/yyyy",
'en-DE': "dd/MM/yyyy",
'en-DK': "dd/MM/yyyy",
'en-DM': "dd/MM/yyyy",
'en-ER': "dd/MM/yyyy",
'en-FI': "dd/MM/yyyy",
'en-FJ': "dd/MM/yyyy",
'en-FK': "dd/MM/yyyy",
'en-FM': "dd/MM/yyyy",
'en-GB': "dd/MM/yyyy",
'en-GD': "dd/MM/yyyy",
'en-GG': "dd/MM/yyyy",
'en-GH': "dd/MM/yyyy",
'en-GI': "dd/MM/yyyy",
'en-GM': "dd/MM/yyyy",
'en-GU': "M/d/yyyy",
'en-GY': "dd/MM/yyyy",
'en-HK': "d/M/yyyy",
'en-ID': "dd/MM/yyyy",
'en-IE': "dd/MM/yyyy",
'en-IL': "dd/MM/yyyy",
'en-IM': "dd/MM/yyyy",
'en-IN': "dd-MM-yyyy",
'en-IO': "dd/MM/yyyy",
'en-JE': "dd/MM/yyyy",
'en-JM': "d/M/yyyy",
'en-KE': "dd/MM/yyyy",
'en-KI': "dd/MM/yyyy",
'en-KN': "dd/MM/yyyy",
'en-KY': "dd/MM/yyyy",
'en-LC': "dd/MM/yyyy",
'en-LR': "dd/MM/yyyy",
'en-LS': "dd/MM/yyyy",
'en-MG': "dd/MM/yyyy",
'en-MH': "M/d/yyyy",
'en-MO': "dd/MM/yyyy",
'en-MP': "M/d/yyyy",
'en-MS': "dd/MM/yyyy",
'en-MT': "dd/MM/yyyy",
'en-MU': "dd/MM/yyyy",
'en-MW': "dd/MM/yyyy",
'en-MY': "d/M/yyyy",
'en-NA': "dd/MM/yyyy",
'en-NF': "dd/MM/yyyy",
'en-NG': "dd/MM/yyyy",
'en-NL': "dd/MM/yyyy",
'en-NR': "dd/MM/yyyy",
'en-NU': "dd/MM/yyyy",
'en-NZ': "d/MM/yyyy",
'en-PG': "dd/MM/yyyy",
'en-PH': "dd/MM/yyyy",
'en-PK': "dd/MM/yyyy",
'en-PN': "dd/MM/yyyy",
'en-PR': "M/d/yyyy",
'en-PW': "dd/MM/yyyy",
'en-RW': "dd/MM/yyyy",
'en-SB': "dd/MM/yyyy",
'en-SC': "dd/MM/yyyy",
'en-SD': "dd/MM/yyyy",
'en-SE': "yyyy-MM-dd",
'en-SG': "d/M/yyyy",
'en-SH': "dd/MM/yyyy",
'en-SI': "dd/MM/yyyy",
'en-SL': "dd/MM/yyyy",
'en-SS': "dd/MM/yyyy",
'en-SX': "dd/MM/yyyy",
'en-SZ': "dd/MM/yyyy",
'en-TC': "dd/MM/yyyy",
'en-TK': "dd/MM/yyyy",
'en-TO': "dd/MM/yyyy",
'en-TT': "dd/MM/yyyy",
'en-TV': "dd/MM/yyyy",
'en-TZ': "dd/MM/yyyy",
'en-UG': "dd/MM/yyyy",
'en-UM': "M/d/yyyy",
'en-US': "M/d/yyyy",
'en-VC': "dd/MM/yyyy",
'en-VG': "dd/MM/yyyy",
'en-VI': "M/d/yyyy",
'en-VU': "dd/MM/yyyy",
'en-WS': "dd/MM/yyyy",
'en-ZA': "yyyy/MM/dd",
'en-ZM': "dd/MM/yyyy",
'en-ZW': "d/M/yyyy",
'eo-001': "yyyy-MM-dd",
'es': "dd/MM/yyyy",
'es-419': "d/M/yyyy",
'es-AR': "d/M/yyyy",
'es-BO': "d/M/yyyy",
'es-BR': "d/M/yyyy",
'es-BZ': "d/M/yyyy",
'es-CL': "dd-MM-yyyy",
'es-CO': "d/MM/yyyy",
'es-CR': "d/M/yyyy",
'es-CU': "d/M/yyyy",
'es-DO': "d/M/yyyy",
'es-EC': "d/M/yyyy",
'es-ES': "dd/MM/yyyy",
'es-GQ': "d/M/yyyy",
'es-GT': "d/MM/yyyy",
'es-HN': "d/M/yyyy",
'es-MX': "dd/MM/yyyy",
'es-NI': "d/M/yyyy",
'es-PA': "MM/dd/yyyy",
'es-PE': "d/MM/yyyy",
'es-PH': "d/M/yyyy",
'es-PR': "MM/dd/yyyy",
'es-PY': "d/M/yyyy",
'es-SV': "d/M/yyyy",
'es-US': "M/d/yyyy",
'es-UY': "d/M/yyyy",
'es-VE': "d/M/yyyy",
'et': "dd.MM.yyyy",
'et-EE': "dd.MM.yyyy",
'eu-ES': "yyyy/M/d",
'ewo-CM': "d/M/yyyy",
'fa-IR': "dd/MM/yyyy",
'ff-CM': "d/M/yyyy",
'ff-GN': "d/M/yyyy",
'ff-Latn-SN': "dd/MM/yyyy",
'ff-MR': "d/M/yyyy",
'ff-NG': "d/M/yyyy",
'fi': "d.M.yyyy",
'fi-FI': "d.M.yyyy",
'fil-PH': "M/d/yyyy",
'fo': "dd.MM.yyyy",
'fo-DK': "dd.MM.yyyy",
'fo-FO': "dd.MM.yyyy",
'fr': "dd/MM/yyyy",
'fr-029': "dd/MM/yyyy",
'fr-BE': "dd-MM-yy",
'fr-BF': "dd/MM/yyyy",
'fr-BI': "dd/MM/yyyy",
'fr-BJ': "dd/MM/yyyy",
'fr-BL': "dd/MM/yyyy",
'fr-CA': "yyyy-MM-dd",
'fr-CD': "dd/MM/yyyy",
'fr-CF': "dd/MM/yyyy",
'fr-CG': "dd/MM/yyyy",
'fr-CH': "dd.MM.yyyy",
'fr-CI': "dd/MM/yyyy",
'fr-CM': "dd/MM/yyyy",
'fr-DJ': "dd/MM/yyyy",
'fr-DZ': "dd/MM/yyyy",
'fr-FR': "dd/MM/yyyy",
'fr-GA': "dd/MM/yyyy",
'fr-GF': "dd/MM/yyyy",
'fr-GN': "dd/MM/yyyy",
'fr-GP': "dd/MM/yyyy",
'fr-GQ': "dd/MM/yyyy",
'fr-HT': "dd/MM/yyyy",
'fr-KM': "dd/MM/yyyy",
'fr-LU': "dd/MM/yyyy",
'fr-MA': "dd/MM/yyyy",
'fr-MC': "dd/MM/yyyy",
'fr-MF': "dd/MM/yyyy",
'fr-MG': "dd/MM/yyyy",
'fr-ML': "dd/MM/yyyy",
'fr-MQ': "dd/MM/yyyy",
'fr-MR': "dd/MM/yyyy",
'fr-MU': "dd/MM/yyyy",
'fr-NC': "dd/MM/yyyy",
'fr-NE': "dd/MM/yyyy",
'fr-PF': "dd/MM/yyyy",
'fr-PM': "dd/MM/yyyy",
'fr-RE': "dd/MM/yyyy",
'fr-RW': "dd/MM/yyyy",
'fr-SC': "dd/MM/yyyy",
'fr-SN': "dd/MM/yyyy",
'fr-SY': "dd/MM/yyyy",
'fr-TD': "dd/MM/yyyy",
'fr-TG': "dd/MM/yyyy",
'fr-TN': "dd/MM/yyyy",
'fr-VU': "dd/MM/yyyy",
'fr-WF': "dd/MM/yyyy",
'fr-YT': "dd/MM/yyyy",
'fur-IT': "dd/MM/yyyy",
'fy-NL': "dd-MM-yyyy",
'ga': "dd/MM/yyyy",
'ga-IE': "dd/MM/yyyy",
'gd': "dd/MM/yyyy",
'gd-GB': "dd/MM/yyyy",
'gl': "dd/MM/yyyy",
'gl-ES': "dd/MM/yyyy",
'gn': "dd/MM/yyyy",
'gn-PY': "dd/MM/yyyy",
'gsw-CH': "dd.MM.yyyy",
'gsw-FR': "dd/MM/yyyy",
'gsw-LI': "dd.MM.yyyy",
'gu': "dd-MM-yy",
'gu-IN': "dd-MM-yy",
'guz-KE': "dd/MM/yyyy",
'gv-IM': "dd/MM/yyyy",
'ha-Latn-GH': "d/M/yyyy",
'ha-Latn-NE': "d/M/yyyy",
'ha-Latn-NG': "d/M/yyyy",
'haw-US': "d/M/yyyy",
'he-IL': "dd/MM/yyyy",
'hi-IN': "dd-MM-yyyy",
'hr': "d.M.yyyy.",
'hr-BA': "d. M. yyyy.",
'hr-HR': "d.M.yyyy.",
'hsb-DE': "d.M.yyyy",
'hu': "yyyy. MM. dd.",
'hu-HU': "yyyy. MM. dd.",
'hy-AM': "dd.MM.yyyy",
'ia-001': "yyyy/MM/dd",
'ia-FR': "yyyy/MM/dd",
'ibb-NG': "d/M/yyyy",
'id': "dd/MM/yyyy",
'id-ID': "dd/MM/yyyy",
'ig-NG': "dd/MM/yyyy",
'ii-CN': "yyyy/M/d",
'is': "d.M.yyyy",
'is-IS': "d.M.yyyy",
'it': "dd/MM/yyyy",
'it-CH': "dd.MM.yyyy",
'it-IT': "dd/MM/yyyy",
'it-SM': "dd/MM/yyyy",
'it-VA': "dd/MM/yyyy",
'iu-Cans-CA': "d/M/yyyy",
'iu-Latn-CA': "d/MM/yyyy",
'ja-JP': "yyyy/MM/dd",
'jgo-CM': "yyyy-MM-dd",
'jmc-TZ': "dd/MM/yyyy",
'jv-Java-ID': "dd/MM/yyyy",
'jv-Latn-ID': "dd/MM/yyyy",
'ka-GE': "dd.MM.yyyy",
'kab-DZ': "d/M/yyyy",
'kam-KE': "dd/MM/yyyy",
'kde-TZ': "dd/MM/yyyy",
'kea-CV': "d/M/yyyy",
'khq-ML': "d/M/yyyy",
'ki': "dd/MM/yyyy",
'ki-KE': "dd/MM/yyyy",
'kk-KZ': "dd.MM.yyyy",
'kkj-CM': "dd/MM yyyy",
'kl-GL': "dd-MM-yyyy",
'kln-KE': "dd/MM/yyyy",
'km': "dd/MM/yy",
'km-KH': "dd/MM/yy",
'kn': "dd-MM-yy",
'kn-IN': "dd-MM-yy",
'ko-KP': "yyyy. M. d.",
'ko-KR': "yyyy-MM-dd",
'kok-IN': "dd-MM-yyyy",
'kr': "d/M/yyyy",
'kr-NG': "d/M/yyyy",
'ks-Arab-IN': "M/d/yyyy",
'ks-Deva-IN': "dd-MM-yyyy",
'ksb-TZ': "dd/MM/yyyy",
'ksf-CM': "d/M/yyyy",
'ksh-DE': "d. M. yyyy",
'ku-Arab-IQ': "yyyy/MM/dd",
'ku-Arab-IR': "dd/MM/yyyy",
'kw': "dd/MM/yyyy",
'kw-GB': "dd/MM/yyyy",
'ky': "d-MMM yy",
'ky-KG': "d-MMM yy",
'la': "dd/MM/yyyy",
'la-001': "dd/MM/yyyy",
'lag-TZ': "dd/MM/yyyy",
'lb': "dd.MM.yy",
'lb-LU': "dd.MM.yy",
'lg-UG': "dd/MM/yyyy",
'lkt-US': "M/d/yyyy",
'ln-AO': "d/M/yyyy",
'ln-CD': "d/M/yyyy",
'ln-CF': "d/M/yyyy",
'ln-CG': "d/M/yyyy",
'lo-LA': "d/M/yyyy",
'lrc-IQ': "yyyy-MM-dd",
'lrc-IR': "dd/MM/yyyy",
'lt': "yyyy-MM-dd",
'lt-LT': "yyyy-MM-dd",
'lu': "d/M/yyyy",
'lu-CD': "d/M/yyyy",
'luo-KE': "dd/MM/yyyy",
'luy-KE': "dd/MM/yyyy",
'lv': "dd.MM.yyyy",
'lv-LV': "dd.MM.yyyy",
'mas-KE': "dd/MM/yyyy",
'mas-TZ': "dd/MM/yyyy",
'mer-KE': "dd/MM/yyyy",
'mfe-MU': "d/M/yyyy",
'mg': "yyyy-MM-dd",
'mg-MG': "yyyy-MM-dd",
'mgh-MZ': "dd/MM/yyyy",
'mgo-CM': "yyyy-MM-dd",
'mi-NZ': "dd/MM/yyyy",
'mk': "dd.M.yyyy",
'mk-MK': "dd.M.yyyy",
'ml': "d/M/yyyy",
'ml-IN': "d/M/yyyy",
'mn': "yyyy.MM.dd",
'mn-MN': "yyyy.MM.dd",
'mn-Mong-CN': "yyyy/M/d",
'mn-Mong-MN': "yyyy/M/d",
'mni-IN': "dd/MM/yyyy",
'moh-CA': "M/d/yyyy",
'mr': "dd-MM-yyyy",
'mr-IN': "dd-MM-yyyy",
'ms': "d/MM/yyyy",
'ms-BN': "d/MM/yyyy",
'ms-MY': "d/MM/yyyy",
'ms-SG': "d/MM/yyyy",
'mt': "dd/MM/yyyy",
'mt-MT': "dd/MM/yyyy",
'mua-CM': "d/M/yyyy",
'my': "dd-MM-yyyy",
'my-MM': "dd-MM-yyyy",
'mzn-IR': "dd/MM/yyyy",
'naq-NA': "dd/MM/yyyy",
'nb-NO': "dd.MM.yyyy",
'nb-SJ': "dd.MM.yyyy",
'nd-ZW': "dd/MM/yyyy",
'nds-DE': "d.MM.yyyy",
'nds-NL': "d.MM.yyyy",
'ne': "M/d/yyyy",
'ne-IN': "yyyy/M/d",
'ne-NP': "M/d/yyyy",
'nl': "d-M-yyyy",
'nl-AW': "dd-MM-yyyy",
'nl-BE': "d/MM/yyyy",
'nl-BQ': "dd-MM-yyyy",
'nl-CW': "dd-MM-yyyy",
'nl-NL': "d-M-yyyy",
'nl-SR': "dd-MM-yyyy",
'nl-SX': "dd-MM-yyyy",
'nmg-CM': "d/M/yyyy",
'nn-NO': "dd.MM.yyyy",
'nnh-CM': "dd/MM/yyyy",
'no': "dd.MM.yyyy",
'nqo-GN': "dd/MM/yyyy",
'nr': "yyyy-MM-dd",
'nr-ZA': "yyyy-MM-dd",
'nso-ZA': "yyyy-MM-dd",
'nus-SS': "d/MM/yyyy",
'nyn-UG': "dd/MM/yyyy",
'oc-FR': "dd/MM/yyyy",
'om': "dd/MM/yyyy",
'om-ET': "dd/MM/yyyy",
'om-KE': "dd/MM/yyyy",
'or-IN': "dd-MM-yy",
'os-GE': "dd.MM.yyyy",
'os-RU': "dd.MM.yyyy",
'pa': "dd-MM-yy",
'pa-Arab-PK': "dd-MM-yy",
'pa-IN': "dd-MM-yy",
'pap-029': "d-M-yyyy",
'pl': "dd.MM.yyyy",
'pl-PL': "dd.MM.yyyy",
'prg-001': "dd.MM.yyyy",
'prs-AF': "yyyy/M/d",
'ps': "yyyy/M/d",
'ps-AF': "yyyy/M/d",
'pt': "dd/MM/yyyy",
'pt-AO': "dd/MM/yyyy",
'pt-BR': "dd/MM/yyyy",
'pt-CH': "dd/MM/yyyy",
'pt-CV': "dd/MM/yyyy",
'pt-GQ': "dd/MM/yyyy",
'pt-GW': "dd/MM/yyyy",
'pt-LU': "dd/MM/yyyy",
'pt-MO': "dd/MM/yyyy",
'pt-MZ': "dd/MM/yyyy",
'pt-PT': "dd/MM/yyyy",
'pt-ST': "dd/MM/yyyy",
'pt-TL': "dd/MM/yyyy",
'quc-Latn-GT': "dd/MM/yyyy",
'quz-BO': "dd/MM/yyyy",
'quz-EC': "dd/MM/yyyy",
'quz-PE': "dd/MM/yyyy",
'rm-CH': "dd-MM-yyyy",
'rn-BI': "d/M/yyyy",
'ro': "dd.MM.yyyy",
'ro-MD': "dd.MM.yyyy",
'ro-RO': "dd.MM.yyyy",
'rof-TZ': "dd/MM/yyyy",
'ru': "dd.MM.yyyy",
'ru-BY': "dd.MM.yyyy",
'ru-KG': "dd.MM.yyyy",
'ru-KZ': "dd.MM.yyyy",
'ru-MD': "dd.MM.yyyy",
'ru-RU': "dd.MM.yyyy",
'ru-UA': "dd.MM.yyyy",
'rw': "yyyy-MM-dd",
'rw-RW': "yyyy-MM-dd",
'rwk-TZ': "dd/MM/yyyy",
'sa': "dd-MM-yyyy",
'sa-IN': "dd-MM-yyyy",
'sah-RU': "dd.MM.yyyy",
'saq-KE': "dd/MM/yyyy",
'sbp-TZ': "dd/MM/yyyy",
'sd': "dd/MM/yyyy",
'sd-Arab-PK': "dd/MM/yyyy",
'sd-Deva-IN': "dd/MM/yyyy",
'se': "yyyy-MM-dd",
'se-FI': "d.M.yyyy",
'se-NO': "yyyy-MM-dd",
'se-SE': "yyyy-MM-dd",
'seh-MZ': "d/M/yyyy",
'ses-ML': "d/M/yyyy",
'sg': "d/M/yyyy",
'sg-CF': "d/M/yyyy",
'shi-Latn-MA': "d/M/yyyy",
'shi-Tfng-MA': "d/M/yyyy",
'si': "yyyy-MM-dd",
'si-LK': "yyyy-MM-dd",
'sk': "d. M. yyyy",
'sk-SK': "d. M. yyyy",
'sl': "d. MM. yyyy",
'sl-SI': "d. MM. yyyy",
'sma-NO': "dd.MM.yyyy",
'sma-SE': "yyyy-MM-dd",
'smj-NO': "dd.MM.yyyy",
'smj-SE': "yyyy-MM-dd",
'smn-FI': "d.M.yyyy",
'sms-FI': "d.M.yyyy",
'sn': "yyyy-MM-dd",
'sn-Latn-ZW': "yyyy-MM-dd",
'so': "dd/MM/yyyy",
'so-DJ': "dd/MM/yyyy",
'so-ET': "dd/MM/yyyy",
'so-KE': "dd/MM/yyyy",
'so-SO': "dd/MM/yyyy",
'sq-AL': "d.M.yyyy",
'sq-MK': "d.M.yyyy",
'sq-XK': "d.M.yyyy",
'sr': "d.M.yyyy.",
'sr-Cyrl-BA': "d.M.yyyy.",
'sr-Cyrl-ME': "d.M.yyyy.",
'sr-Cyrl-RS': "dd.MM.yyyy.",
'sr-Cyrl-XK': "d.M.yyyy.",
'sr-Latn-BA': "d.M.yyyy.",
'sr-Latn-ME': "d.M.yyyy.",
'sr-Latn-RS': "d.M.yyyy.",
'sr-Latn-XK': "d.M.yyyy.",
'ss': "yyyy-MM-dd",
'ss-SZ': "yyyy-MM-dd",
'ss-ZA': "yyyy-MM-dd",
'ssy-ER': "dd/MM/yyyy",
'st': "yyyy-MM-dd",
'st-LS': "yyyy-MM-dd",
'st-ZA': "yyyy-MM-dd",
'sv': "yyyy-MM-dd",
'sv-AX': "yyyy-MM-dd",
'sv-FI': "dd-MM-yyyy",
'sv-SE': "yyyy-MM-dd",
'sw-CD': "dd/MM/yyyy",
'sw-KE': "dd/MM/yyyy",
'sw-TZ': "dd/MM/yyyy",
'sw-UG': "dd/MM/yyyy",
'syr-SY': "dd/MM/yyyy",
'ta-IN': "dd-MM-yyyy",
'ta-LK': "d/M/yyyy",
'ta-MY': "d/M/yyyy",
'ta-SG': "d/M/yyyy",
'te-IN': "dd-MM-yy",
'teo-KE': "dd/MM/yyyy",
'teo-UG': "dd/MM/yyyy",
'tg': "dd.MM.yyyy",
'tg-Cyrl-TJ': "dd.MM.yyyy",
'th': "d/M/yyyy",
'th-TH': "d/M/yyyy",
'ti-ER': "dd/MM/yyyy",
'ti-ET': "dd/MM/yyyy",
'tig-ER': "dd/MM/yyyy",
'tk': "dd.MM.yy 'ý.'",
'tk-TM': "dd.MM.yy 'ý.'",
'tn': "yyyy-MM-dd",
'tn-BW': "yyyy-MM-dd",
'tn-ZA': "yyyy-MM-dd",
'to': "d/M/yyyy",
'to-TO': "d/M/yyyy",
'tr': "d.MM.yyyy",
'tr-CY': "d.MM.yyyy",
'tr-TR': "d.MM.yyyy",
'ts-ZA': "yyyy-MM-dd",
'tt': "dd.MM.yyyy",
'tt-RU': "dd.MM.yyyy",
'twq-NE': "d/M/yyyy",
'tzm-Arab-MA': "d/M/yyyy",
'tzm-Latn-DZ': "dd-MM-yyyy",
'tzm-Latn-MA': "dd/MM/yyyy",
'tzm-Tfng-MA': "dd-MM-yyyy",
'ug': "yyyy-M-d",
'ug-CN': "yyyy-M-d",
'uk-UA': "dd.MM.yyyy",
'ur-IN': "d/M/yy",
'ur-PK': "dd/MM/yyyy",
'uz': "dd/MM/yyyy",
'uz-Arab-AF': "dd/MM yyyy",
'uz-Cyrl-UZ': "dd/MM/yyyy",
'uz-Latn-UZ': "dd/MM/yyyy",
'vai-Latn-LR': "dd/MM/yyyy",
'vai-Vaii-LR': "dd/MM/yyyy",
've': "yyyy-MM-dd",
've-ZA': "yyyy-MM-dd",
'vi': "dd/MM/yyyy",
'vi-VN': "dd/MM/yyyy",
'vo-001': "yyyy-MM-dd",
'vun-TZ': "dd/MM/yyyy",
'wae-CH': "yyyy-MM-dd",
'wal-ET': "dd/MM/yyyy",
'wo-SN': "dd/MM/yyyy",
'xh-ZA': "yyyy-MM-dd",
'xog-UG': "dd/MM/yyyy",
'yav-CM': "d/M/yyyy",
'yi-001': "dd/MM/yyyy",
'yo-BJ': "dd/MM/yyyy",
'yo-NG': "dd/MM/yyyy",
'zgh-Tfng-MA': "d/M/yyyy",
'zh-CN': "yyyy/M/d",
'zh-Hans-HK': "d/M/yyyy",
'zh-Hans-MO': "d/M/yyyy",
'zh-HK': "d/M/yyyy",
'zh-MO': "d/M/yyyy",
'zh-SG': "d/M/yyyy",
'zh-TW': "yyyy/M/d",
'zu-ZA': "M/d/yyyy",
};
答案 9 :(得分:2)
这取决于浏览器的toLocaleDateString()实现。 例如,在chrome中你会得到类似的结果:“星期二,1月DD,YYYY”
答案 10 :(得分:1)
没有简单的方法。如果您需要可靠的跨浏览器解决方案,则必须按文化构建日期和时间格式字符串的查找表。要格式化日期,请解析相应的格式字符串,从日期中提取相关部分,即日,月,年,并将它们一起追加。
这基本上是微软用他们的AJAX库做的事情,如@ no的回答所示。
答案 11 :(得分:1)
对Mitali的回应略有修改。为更加本地化的解决方案动态生成语言。
var lang= window.navigator.userLanguage || window.navigator.language;
var date = new Date();
var options = {
weekday: "short",
year: "numeric",
month: "2-digit",
day: "numeric"
};
date.toLocaleDateString(lang, options);
答案 12 :(得分:1)
在寻找一种方法在所有浏览器中生成本地化但短日期而没有任何额外库的情况下找到此线程,只需简单调用格式化服务器生成的ISO日期。
我选择了holden321和mwrf的答案。存储函数外部的格式,因为它更方便并存储当前的语言环境格式,因为它始终有用。
该函数可以传递给任何可以传递给日期构造函数以获得有效日期的函数,也可以传递一种语言或格式以实现灵活性。
您需要首先设置格式列表和更多内容:
var LOCALE_DATE_FORMATS = {
// as per mwrf's list
...
}
var LANG = window.navigator.userLanguage || window.navigator.language;
var LOCALE_DATE_FORMAT = LOCALE_DATE_FORMATS[LANG] || 'dd/MM/yyyy';
然后功能是:
function getLocalizedDate(o, options)
{
var res = '';
var date = new Date(o);
if(o != null && !isNaN(date) && typeof(date.getFullYear) == 'function')
{
var d = date.getDate();
var dd = d < 10 ? '0' + d : d;
var M = date.getMonth() + 1;
var MM = M < 10 ? '0' + M : M;
var yyyy = date.getFullYear();
var yy = new String(yyyy).substring(2);
var format = LOCALE_DATE_FORMAT;
if(options && options.lang)
format = LOCALE_DATE_FORMATS[options.lang];
else if(options && options.format)
format = options.format;
res = format
.replace(/dd/g, dd)
.replace(/d/g, d)
.replace(/MM/g, MM)
.replace(/M/g, M)
.replace(/yyyy/g, yyyy)
.replace(/yy/g, yy);
}
return res;
}
getLocalizedDate('2013-03-01T00:00:00', {lang:'sk-SK'})
= 1. 3. 2013
编辑:调用时没有参数来使用用户的语言环境,当然:
getLocalizedDate('2013-03-01T00:00:00')
= 01/03/2013
(对我来说)
如果您是扩展原型的粉丝,函数定义的第一行将变为:
Date.prototype.getLocalized = function(options)
{
var date = this;
当然叫这样:
new Date('2013-03-01T00:00:00').getLocalized({lang:'sk-SK'})
= 1. 3. 2013
编辑:再次,调用没有参数来使用用户的语言环境:
new Date('2013-03-01T00:00:00').getLocalized()
= 01/03/2013
(对我来说)
答案 13 :(得分:1)
如果您要查找浏览器是使用"DD/MM/YYYY"
还是"MM/DD/YYYY"
,则可以使用以下代码
var format = "DD/MM/YYYY";
if(new Date("21/5/2019")=="Invalid Date"){
format = "MM/DD/YYYY";
}
console.log(format);
答案 14 :(得分:1)
以 en-CA 为例,如果您使用的是 date-fns
:
<script type="module">
import { enCA } from 'https://cdn.skypack.dev/date-fns/locale';
console.log(enCA.formatLong.date({width:'short'}))
// yyyy-MM-dd
</script>
来源:https://github.com/date-fns/date-fns/blob/master/src/locale/en-CA/_lib/formatLong/index.js
对于 CLDR 和 Paul Irish:
import locale from 'cldr-dates-modern/main/en-CA/ca-gregorian.json'
console.log(locale.main['en-CA'].dates.calendars.gregorian.dateFormats.short)
// y-MM-dd
来源:https://github.com/unicode-cldr/cldr-dates-modern/blob/master/main/en-CA/ca-gregorian.json
用例:我们将此值用作输入的占位符属性。
答案 15 :(得分:0)
尝试使用Date.CultureInfo.formatPatterns.shortDate
答案 16 :(得分:0)
怎么样:
// pass in a localeAbbv string to get the format for a specific locale,
// otherwise the browser's default localte will be used
function getLocaleShortDateFormat(localeAbbv?: string) {
return new Intl.DateTimeFormat(Intl.DateTimeFormat(localeAbbv).resolvedOptions().locale)
.format(new Date(2021, 0, 2))
.replace(/0?1/, "MM").replace(/0?2/, "DD").replace(/(?:20)?21/, "YYYY");
}
这只是获取一个已知日期(2021 年 1 月 2 日),使用当前区域设置对其进行格式化,然后将已知值(2021=年,1=月,2=日)替换为适当的日期字符串。>
这使用符合标准的方法调用,我认为应该适用于所有现代(ish)浏览器。
实际上我认为在格式化日期以显示给用户时,最好使用“-”而不是“/”来分隔日期的组成部分。这样做的几个原因:1)它提供了更好的用户体验,因为“-”没有数字那么高,因此更容易识别组件,因此日期组件之间的中断更突出,2)它更接近 ISO 8601 格式,在日期组件之间使用破折号。为此,只需向链中添加另一个 .replace(/\//g, "-")
。
答案 17 :(得分:0)
new Date(YOUR_DATE_STRING).toLocaleDateString(navigator.language)
〜以上答案的组合
答案 18 :(得分:0)
我相信你可以使用这个: new Date()。toLocaleDateString();
哪个可以接受语言环境的参数: new Date()。toLocaleDateString(“en-us”); new Date()。toLocaleDateString(“he-il”);
我看到它受到Chrome,IE,edge的支持,虽然结果可能会有所不同但它对我来说做得很好。
答案 19 :(得分:-2)
试试这个:
new Date().toLocaleFormat("%x");
此功能的所有格式均可在此处找到: http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html
答案 20 :(得分:-2)
(2021 年)
只需使用.toLocaleDateString()
,浏览器就会为您处理一切,例如:
console.log(
new Date().toLocaleDateString()
); // -> something like '7/18/2021', depending on user's location
要验证它对任何人都有效,请传入一个语言环境字符串进行测试:
const toVerify = [
'af-ZA',
'am-ET',
'ar-AE',
'ar-BH',
'ar-DZ',
'ar-EG',
'ar-IQ',
'ar-JO',
'ar-KW',
'ar-LB',
'ar-LY',
'ar-MA',
'ar-OM',
'ar-QA',
'ar-SA',
'ar-SY',
'ar-TN',
'ar-YE',
'arn-CL',
'as-IN',
'az-Cyrl-AZ',
'az-Latn-AZ',
'ba-RU',
'be-BY',
'bg-BG',
'bn-BD',
'bn-IN',
'bo-CN',
'br-FR',
'bs-Cyrl-BA',
'bs-Latn-BA',
'ca-ES',
'co-FR',
'cs-CZ',
'cy-GB',
'da-DK',
'de-AT',
'de-CH',
'de-DE',
'de-LI',
'de-LU',
'dsb-DE',
'dv-MV',
'el-GR',
'en-029',
'en-AU',
'en-BZ',
'en-CA',
'en-GB',
'en-IE',
'en-IN',
'en-JM',
'en-MY',
'en-NZ',
'en-PH',
'en-SG',
'en-TT',
'en-US',
'en-ZA',
'en-ZW',
'es-AR',
'es-BO',
'es-CL',
'es-CO',
'es-CR',
'es-DO',
'es-EC',
'es-ES',
'es-GT',
'es-HN',
'es-MX',
'es-NI',
'es-PA',
'es-PE',
'es-PR',
'es-PY',
'es-SV',
'es-US',
'es-UY',
'es-VE',
'et-EE',
'eu-ES',
'fa-IR',
'fi-FI',
'fil-PH',
'fo-FO',
'fr-BE',
'fr-CA',
'fr-CH',
'fr-FR',
'fr-LU',
'fr-MC',
'fy-NL',
'ga-IE',
'gd-GB',
'gl-ES',
'gsw-FR',
'gu-IN',
'ha-Latn-NG',
'he-IL',
'hi-IN',
'hr-BA',
'hr-HR',
'hsb-DE',
'hu-HU',
'hy-AM',
'id-ID',
'ig-NG',
'ii-CN',
'is-IS',
'it-CH',
'it-IT',
'iu-Cans-CA',
'iu-Latn-CA',
'ja-JP',
'ka-GE',
'kk-KZ',
'kl-GL',
'km-KH',
'kn-IN',
'ko-KR',
'kok-IN',
'ky-KG',
'lb-LU',
'lo-LA',
'lt-LT',
'lv-LV',
'mi-NZ',
'mk-MK',
'ml-IN',
'mn-MN',
'mn-Mong-CN',
'moh-CA',
'mr-IN',
'ms-BN',
'ms-MY',
'mt-MT',
'nb-NO',
'ne-NP',
'nl-BE',
'nl-NL',
'nn-NO',
'nso-ZA',
'oc-FR',
'or-IN',
'pa-IN',
'pl-PL',
'prs-AF',
'ps-AF',
'pt-BR',
'pt-PT',
'qut-GT',
'quz-BO',
'quz-EC',
'quz-PE',
'rm-CH',
'ro-RO',
'ru-RU',
'rw-RW',
'sa-IN',
'sah-RU',
'se-FI',
'se-NO',
'se-SE',
'si-LK',
'sk-SK',
'sl-SI',
'sma-NO',
'sma-SE',
'smj-NO',
'smj-SE',
'smn-FI',
'sms-FI',
'sq-AL',
'sr-Cyrl-BA',
'sr-Cyrl-CS',
'sr-Cyrl-ME',
'sr-Cyrl-RS',
'sr-Latn-BA',
'sr-Latn-CS',
'sr-Latn-ME',
'sr-Latn-RS',
'sv-FI',
'sv-SE',
'sw-KE',
'syr-SY',
'ta-IN',
'te-IN',
'tg-Cyrl-TJ',
'th-TH',
'tk-TM',
'tn-ZA',
'tr-TR',
'tt-RU',
'tzm-Latn-DZ',
'ug-CN',
'uk-UA',
'ur-PK',
'uz-Cyrl-UZ',
'uz-Latn-UZ',
'vi-VN',
'wo-SN',
'xh-ZA',
'yo-NG',
'zh-CN',
'zh-HK',
'zh-MO',
'zh-SG',
'zh-TW',
'zu-ZA',
];
toVerify.forEach((locale) => {
console.log(locale, new Date().toLocaleDateString(locale));
});