繁体   English   中英

如何转换为date-fns?

[英]How to convert to date-fns?

我有以下moment表达:

<DialogContent>
  {startDate ? (
    <DateTimePicker
      value={startDate}
      onChange={(value: any) =>
        setStartDate(moment(value).format())

我想转换为date-fns格式,但它失败了,它总是 1970 的东西,为什么? 我是这样转换的:

setStartDate(getUnixTime(new Date(value)))

您可以从date-fns导入format函数并使用它:

import { format } from 'date-fns';

// Pass desired format as a second parameter
setStartDate(format(value, 'yyyy-MM-dd'));

moment(value).format()返回 ISO 8601 日期字符串,如下所示: 2021-11-10T10:19:09+09:00 然后,我猜setStartDate函数需要一个 ISO 8601 格式的日期字符串。

目标是使用date-fns moment.format创建一个字符串作为moment.format的结果。

为此,您需要创建一个日期对象。 如果作品有moment(value)的语法,平均value是毫秒时间戳号( 1636507295498 ),还是正式的日期字符串( 2021-11-10 )。 然后你可以通过 Date 构造函数创建一个日期对象:

new Date(value);

现在,您可以使用formatISO创建所需的日期字符串:

formatISO(dateObject);

最终的外观将是这样的:

setStartDate(formatISO(new Date(value)))

暂无
暂无

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

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