date.toLocaleString(options)不起作用

时间:2017-05-10 14:48:43

标签: javascript date

我对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);




3 个答案:

答案 0 :(得分:4)

虽然您可以跳过第一个参数,但在您的情况下没有提供任何内容,但您不会获得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 }));




答案 1 :(得分:1)

您应该使用options作为第二个参数:

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

答案 2 :(得分: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);