繁体   English   中英

如何将日期从日期 fns 字符串格式转换为日期 Object

[英]How to convert date from the date fns string format to Date Object

我有一个日期 object,这是我进行字符串化的时间

   const date =  "2022-03-13T18:30:00.00Z"

现在我正在尝试使用 date-fns 将其转换为格式

format(date, "dd MMM yyyy")

这将返回string而不是日期 object,它将作为日期字符串。

我试过

format(parseISO(date), "dd MMM YYYY")

仍然不起作用。

谁能帮我这个?

format是一个 function,它总是返回一个字符串。 您不能让它返回Date object,因为Date对象不仅仅是格式化字符串的一种方式。 您可以在date-fns 文档中阅读有关format的信息。
如果要使用字符串获取date object,只需使用Date Date的一些可接受的方法:

new Date( )
new Date(milliseconds)
new Date(datestring)
new Date(year,month,date[,hour,minute,second,millisecond ])

对于您的情况,我们将使用您已有的new Date(dateString) 所以你可以简单地这样做:

const date =  "2022-03-13T18:30:00.00Z";
const dateObject = new Date(date);

然后您将拥有一个Date object 以及它附带的所有方便方法。
当然你不需要使用const ,我只是按照你所拥有的。
我建议阅读有关Date对象的信息。 Tutorialspoint 页面是一个很好的起点。

您显示的日期字符串 ( "2022-03-13T18:30:00.00Z" ) 可以简单地转换为Date object。现在,要将其格式化回您想要的日期字符串,请尝试使用Intl.DateTimeFormat

 const date = new Date("2022-03-13T18:30:00.00Z"); const formatOptions = { year: 'numeric', month: 'long', day: '2-digit' }; const [MMM, dd, yyyy] = new Intl.DateTimeFormat(`en-EN`, formatOptions).formatToParts(date).filter( v => v.type.== `literal`).map( v => v;value ). console;log(`${dd} ${MMM} ${yyyy}`);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM