首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何转换为date-fns?

如何转换为date-fns?
EN

Stack Overflow用户
提问于 2021-11-10 00:08:24
回答 2查看 44关注 0票数 1

我有以下moment表达式:

代码语言:javascript
复制
<DialogContent>
  {startDate ? (
    <DateTimePicker
      value={startDate}
      onChange={(value: any) =>
        setStartDate(moment(value).format())

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

代码语言:javascript
复制
setStartDate(getUnixTime(new Date(value)))
EN

回答 2

Stack Overflow用户

发布于 2021-11-10 00:21:13

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

代码语言:javascript
复制
import { format } from 'date-fns';

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

Stack Overflow用户

发布于 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对象:

代码语言:javascript
复制
new Date(value);

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

代码语言:javascript
复制
formatISO(dateObject);

最终的外观将如下所示:

代码语言:javascript
复制
setStartDate(formatISO(new Date(value)))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69906531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档