私はjsに反応するのは初めてです。私は新しいプロジェクトにReactjs(ES6)を使用しています。 moment.js を使用して日付をフォーマットするにはどうすればよいですか?
後述のループでpost.date
をフォーマットします。
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{post.date}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}
Webpackを使用しているので、import
またはrequire
の瞬間だけを使用してから使用する必要があります。
import moment from 'moment'
...
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{moment(post.date).format()}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}
...
質問は少し古いですが、ここにいるので、人々はまだ解決策を探しているようです。
react-moment
link を使用することをお勧めします。
react-moment
には、多くの作業を削減する便利なJSX
タグが付属しています。あなたの場合のように:-
import React from 'react';
import Moment from 'react-moment';
exports default class MyComponent extends React.Component {
render() {
<Moment format="YYYY/MM/DD">{this.props.dateToFormat}</Moment>
}
}
他の回答が失敗した場合、次のようにインポートします
import moment from 'moment/moment.js'
動作する可能性があります。
私は次のように使用していますが、完全に機能しています
import React from 'react';
import * as moment from 'moment'
exports default class MyComponent extends React.Component {
render() {
<div>
{moment(dateToBeFormate).format('DD/MM/YYYY')}
</div>
}
}
瞬間をプロジェクトにインポートする
import moment from react-moment
その後、このように使用します
return(
<Moment format="YYYY/MM/DD">{post.date}</Moment>
);
私の場合、私はいくつかの国のtimeZoneを取得したい、最初のインストールの瞬間js
npm install moment --save
次に、moment-timezone.jsをインストールします
npm install moment-timezone --save
次に、このようにコンポーネントにthemnをインポートします
import moment from 'moment';
import timezone from 'moment-timezone'
その後、時間と分と秒を別々に取得するために私はこのようにします
<Clock minutes={moment().tz('Australia/Sydney').minute()} hour={moment().tz('Australia/Sydney').hours()} second={moment().tz('Australia/Sydney').second()}/>
import moment from 'moment';
.....
render() {
return (
<div>
{
this.props.data.map((post,key) =>
<div key={key} className="post-detail">
<h1>{post.title}</h1>
<p>{moment(post.date).calendar()}</p>
<p dangerouslySetInnerHTML={{__html: post.content}}></p>
<hr />
</div>
)}
</div>
);
}