React Intl предоставляет два основных способа форматирования дат в твоём приложении. Оба метода автоматически обрабатывают форматирование с учётом локали.
FormattedDateСамый простой способ — использовать компонент FormattedDate, который обрабатывает форматирование декларативно:
import { FormattedDate } from 'react-intl'
const MyComponent = () => (
<div>
<FormattedDate
value={new Date()}
year="numeric"
month="numeric"
day="numeric"
/>
</div>
)
injectIntl()Для программного доступа к методу formatDate() оберни свой компонент в компонент высшего порядка injectIntl():
import { injectIntl, intlShape } from 'react-intl'
const MyComponent = ({ intl }) => {
const stringDate = intl.formatDate(new Date(), {
year: 'numeric',
month: 'numeric',
day: 'numeric'
})
return <div>Отформатированная дата: {stringDate}</div>
}
MyComponent.propTypes = {
intl: intlShape.isRequired
}
export default injectIntl(MyComponent)
FormattedDate рекомендуется в большинстве случаев, так как это более декларативный подход и такой код проще читатьformatDate() возвращает строковое представление отформатированной даты, что полезно, когда нужно использовать значение для дальнейшей обработкиyear, month, day, hour, minute и secondКомпонент FormattedDate возвращает строковое представление отформатированной даты, которое можно сохранить в переменную для дальнейшей обработки.
Новый — ещё не проверен сообществом
Вы