[英]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.