我有以下moment表达式:
<DialogContent>
{startDate ? (
<DateTimePicker
value={startDate}
onChange={(value: any) =>
setStartDate(moment(value).format())我想转换成date-fns格式,但它失败了,它总是1970年的东西,为什么?我是这样转换的:
setStartDate(getUnixTime(new Date(value)))发布于 2021-11-10 00:21:13
您可以从date-fns导入format函数并使用它:
import { format } from 'date-fns';
// Pass desired format as a second parameter
setStartDate(format(value, 'yyyy-MM-dd'));发布于 2021-11-10 01:28:24
moment(value).format()返回ISO8601日期字符串,如下所示:2021-11-10T10:19:09+09:00。然后,我猜setStartDate函数需要ISO8601格式的日期字符串。
我们的目标是使用date-fns创建一个字符串作为moment.format的结果。
为此,您需要创建一个date对象。如果它使用moment(value)语法,则mean value是毫秒时间戳号(1636507295498)或正式日期字符串(2021-11-10)。然后,您可以按日期构造函数创建一个date对象:
new Date(value);现在,您可以使用formatISO创建所需的日期字符串:
formatISO(dateObject);最终的外观将如下所示:
setStartDate(formatISO(new Date(value)))https://stackoverflow.com/questions/69906531
复制相似问题