1

JavaScript の Date インスタンスで時間と分が指定されているかどうかを判断するにはどうすればよいですか?

時:分を含まない日付オブジェクト:

var date = new Date('2013-03-15');
date.getHours();
> 1
date.getMinutes();
> 0

デフォルトの時間:分 (01:00) と思われるものを指定すると、戻り値は同じように見えます。

var date2 = new Date('2013-03-15 01:00');
date2.getHours();
> 1
date2.getMinutes();
> 0
4

1 に答える 1

0

これ+1、ローカルタイムゾーン オフセットが適用されているためです。オスロは中央ヨーロッパ時間なので、UTC から +1 です。

. getHours()現地時間に従って、指定された日付の時間 (0-23) を返します - MDN 日付のドキュメントを参照してください。

使用できます。getUTCHours()代わりに、ローカライズされていない時間を返します。

または、.getTime()ミリ秒を返し、タイムゾーンの影響を受けずに、(1 日のミリ秒) で割り86400000、整数を取得した場合、時間、分、秒はすべて 0 でした。

例えば:

d = new Date(2013, 2, 15)
if (d.getTime() / 86400000 % 1 === 0) // date is midnight

注: How do I check that a number is float or integer?から借用した "is integer" トリック

于 2013-03-15T10:52:26.790 に答える