繁体   English   中英

解析并格式化字符串中的日期

[英]Parse and format date in string

我正在尝试date-fns v2。

我想使用toDateformat函数format字符串中的日期:

import { format, toDate } from 'date-fns'
format(toDate('2019-02-11T14:00:00'), 'MM/dd/yyyy')

但得到以下错误:

范围错误:无效的时间值

您似乎正在使用 date-fns 的 2.0 版,该版本目前仍处于 alpha(开发)状态。

哪些功能可用以及它们的工作方式似乎仍然经常变化。 例如,虽然在 v2.0.0-alpha.26 版本中toDate()可以处理字符串参数,但在 v2.0.0-alpha.27 版本中不能再这样做了 parseISO()是一个新的parseISO()函数。

这应该现在工作:

format(parseISO('2019-02-11T14:00:00'), 'MM/dd/yyyy')

然而,虽然版本 2 仍处于测试阶段,但我建议现在使用稳定版本 1.x。

date-fns 2.0.0-alpha.27(演示: https ://stackblitz.com/edit/js-tztuz6)

使用parseISO

import { format, parseISO } from 'date-fns'
const formattedDate = format(parseISO('2019-02-11T14:00:00'), 'MM/dd/yyyy');

date-fns v1.30.1(演示: https ://stackblitz.com/edit/js-mt3y6p)

使用解析

import { format, parse } from 'date-fns'
const formattedDate = format(parse('2019-02-11T14:00:00'), 'MM/DD/YYYY');

顺便说一句,还有一个需要验证的案例:

import { isValid, parseISO, parse } from 'date-fns'

// Date valid
if (isValid(parseISO('2019-11-27 09:45:00'))) {
 let dt = parse('2019-11-27 09:45:00', 'yyyy-MM-dd HH:mm:ss', new Date())
}

toDate 方法无法读取该格式。

尝试转换为日期这样的:

var date = new Date('2019-02-11T14:00:00')

暂无
暂无

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

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