date.toLocaleString(选项)不起作用javascript

新手上路,请多包涵

我对 JS 很陌生,需要一些帮助。

我想在 toLocaleString() 的帮助下格式化日期。根据标准,第一个参数“locales”可以省略。我的代码看起来像:

     let myDate = new Date(2014, 0, 30)
    let options = {
                year: '2-digit',
                month: '2-digit',
                day: '2-digit'
            };
    let formattedDate = myDate.toLocaleString(options);

    console.log(formattedDate);

原文由 lessismore 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 742
2 个回答

虽然您可以跳过第一个参数,而无需为您的情况提供任何内容,但您不会获得 options 参数来为您提供所需的结果。

以下是几个版本的工作代码:

 let date = new Date(2014, 0, 30);

let options = {
            year: '2-digit',
            month: '2-digit',
            day: '2-digit'
        };

console.log(date.toLocaleString('en-us', options));
console.log(date.toLocaleString(undefined, options));
console.log(date.toLocaleString(options));

options.timeZone = 'UTC';
options.timeZoneName = 'short';

console.log(date.toLocaleString('en-US', options));

// sometimes even the US needs 24-hour time
console.log(date.toLocaleString('en-US', { hour12: false }));

原文由 Scott Marcus 发布,翻译遵循 CC BY-SA 3.0 许可协议

toLocaleString 的第一个参数不是可选的,但您可以将 undefined 传递给它。

 let date = new Date(2014, 0, 30)
let options = {
            year: '2-digit',
            month: '2-digit',
            day: '2-digit'
        };
let formattedDate = date.toLocaleString(undefined, options);
console.log(formattedDate);

原文由 Heretic Monkey 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题