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 许可协议

阅读 739
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题