回答:
遅くなって申し訳ありませんが、の時刻部分をフォーマットするのではなく削除したい場合、コードは次のとおりです。moment()
.startOf('day')
startOf('day')
、その後のスタートだった、前の日に。修正済みmoment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
.startOf('day')
時間部分自体は削除されません。時間を00:00:00に設定するだけです。だから、はい、 'collin'によってコメントされたように、日付を保存するときは注意する必要があります。format('LL')
このスレッドで回答されているように、より良い代替手段はを使用することです。
someMoment.clone().startOf('day')
またはを使用しますmoment(someMoment).startOf('day')
。
moment().utc().add(1,'d').startOf('day')
オブジェクトを今日にリセットします。
format('LL')
あなたがそれで何をしようとしているのかに応じてformat('LL')
、トリックを行うことができます。次のようなものが生成されます。
Moment().format('LL'); // => April 29, 2016
正しい方法は、要件に従って入力を指定することです。これにより、柔軟性が向上します。
現在の定義には以下が含まれます
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY h:mm A',
LLLL : 'dddd, MMMM D, YYYY h:mm A'
これらのいずれかを使用するか、moment()。format()に渡される入力を変更できます。たとえば、あなたの場合、あなたは渡すことができますmoment.utc(dateTime).format('MMMM D, YYYY')
。
さて、私はパーティーに遅れるのを知っています。6年後のように、これは私が理解し、YYYY-MM-DDでフォーマットするために必要なものでした。
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
のようなパラメータを渡すこともできます2019-11-08T17:44:56.144
。
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
moment.js
ライブラリを使用するときはいつでも、この方法で目的のフォーマットを指定します。
moment(<your Date goes here>).format("DD-MMM-YYYY")
または
moment(<your Date goes here>).format("DD/MMM/YYYY")
... etcアイデアが出ればいいのに
format関数内で、目的のフォーマットを入力します。上記の例では、分や秒などの日付から不要な要素をすべて削除します
L
、LL
など)
私のような人々にとって、長い日付形式(LLLL
)が必要ですが、時刻がない場合、そのためのGitHubの問題があります:https : //github.com/moment/moment/issues/2505。今のところ、回避策があります:
var localeData = moment.localeData( moment.locale() ),
llll = localeData.longDateFormat( 'llll' ),
lll = localeData.longDateFormat( 'lll' ),
ll = localeData.longDateFormat( 'll' ),
longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);
このコンストラクタを使用できます
moment({h:0, m:0, s:0, ms:0})
http://momentjs.com/docs/#/parsing/object/
console.log( moment().format('YYYY-MM-DD HH:mm:ss') )
console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
moment({h:0, m:0, s:0, ms:0})
今日ではなく1970年1月1日が私に与えられると思っていたので、興味深い。
moment({ h: 0 })
同じように見えます。
Omitted units default to 0 or the current date, month, and year.
これを試して:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
ように、この方法には気をつけてください1993-06-07
1993-06-08