Intl.DateTimeFormat 无法解析有效的时间值

在我的 React 应用程序中,我尝试在<p>...</p>标签内格式化日期字符串,如下所示:


<p>

    {new Intl.DateTimeFormat("en-US", {

        year: "numeric",

        month: "short",

        day: "2-digit"

    }).format(string)}

</p>

的一个例子string是"2012-10-16T17:57:28.556094Z"。这产生了RangeError: Invalid time value。但是,通过转换String为Date,下面的代码起作用了。


<p>

    {new Intl.DateTimeFormat("en-US", {

        year: "numeric",

        month: "short",

        day: "2-digit"

    }).format(new Date(string))}

</p>

不应该Intl.DateTimeFormat能够String正确解析?


MMTTMM
浏览 190回答 1
1回答

沧海一幻觉

Intl.DateTimeFormat 不应该能够正确解析 String 吗?没有。DateTimeFormat对象没有解析器。format方法期望参数是 Date 对象(尽管任何不是 NaN 的值都“ToNumber(value)有效”),而不是字符串。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript