cs Cz语言环境和JavaScript新日期构造函数不';不考虑速记日期
因此,我正试图遵循MDN上关于格式化日期选项的文档 对于cs cz区域设置,我希望在编写诸如cs Cz语言环境和JavaScript新日期构造函数不';不考虑速记日期,javascript,date,locale,Javascript,Date,Locale,因此,我正试图遵循MDN上关于格式化日期选项的文档 对于cs cz区域设置,我希望在编写诸如 19。122012年而不是19年。pro 201 此代码适用于en-us或it(意大利)等地区 var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0, 200)); var options = { month: 'short', day: 'numeric', year: 'numeric'}; console.log(new Intl.DateTime
19。122012年
而不是19年。pro 201
此代码适用于en-us或it(意大利)等地区
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0, 200));
var options = { month: 'short', day: 'numeric', year: 'numeric'};
console.log(new Intl.DateTimeFormat('en-us', options).format(date));
打印出2012年12月19日<代码>
有人能帮我让cs cz语言环境正常工作吗。此代码
var date = new Date(Date.UTC(2012, 11, 20, 3, 0, 0, 200));
var options = { month: 'short', day: 'numeric', year: 'numeric'};
console.log(new Intl.DateTimeFormat('cs-cz', options).format(date));
打印出来
19。122012年
而不是19年。pro 201
我想要
19。pro 201使用JavaScript日期函数。这在我基于13个地区的代码中都是动态的,捷克语是唯一给我带来麻烦的语言。这确实是一个奇怪的难题。事实证明,如果在options对象中包含week
格式,它将提供所需的输出。下面的代码简单地使用它,然后从字符串中删除周名称
我没有修改年份,这将由您决定,但我相信这解决了您的问题并回答了您的问题
const options={weekday:'long',year:'numeric',month:'short',day:'numeric'};
const date=新日期(date.UTC(2012,11,20,3,0,0200));
const out=date.toLocaleDateString('cs-CZ',options.).split('').splice(1).join('');
控制台。注销代码>是的,谢谢-这就是我最后选择的路线。我猜JavaScript日期构造函数中有一个bug。谢谢,我只是希望还有其他问题。你可以随时向TC-39提交一个bug@gary1410与日期构造函数无关。Date.prototype.toLocaleDateString的选项基于ECMA-402,ECMA-402与ECMAScript(ECMA-262)是完全不同的规范,是关于格式化的,而不是构造的。;-)由特定语言代码创建的实际格式没有标准化,这就是“本地化”的全部要点。它还强调了格式化在很大程度上是一种个人观点:在捷克的短短一个月里,无论是谁编写了Intl.DateTimeFormat的实现,都与您对它应该是什么的看法不同。它还强调,将语言代码称为“locale”是一种用词不当的行为。