ホームページ > ウェブフロントエンド > jsチュートリアル > 私の JavaScript 日付オブジェクトが 1 日ずれているのはなぜですか?

私の JavaScript 日付オブジェクトが 1 日ずれているのはなぜですか?

Linda Hamilton
リリース: 2024-12-10 15:19:12
オリジナル
330 人が閲覧しました

Why Is My JavaScript Date Object One Day Off?

JavaScript Date オブジェクトは 1 日ずれていますか

JavaScript Date オブジェクトは、日付文字列を操作するときに特異な動作をする可能性があり、その結果、日付が不正確になる可能性があります。 。この動作は、入力文字列の形式とブラウザの現在のロケール設定によって異なる場合があります。

文字列形式の問題

日付文字列から新しい Date オブジェクトを作成する場合、文字列の形式は、結果の日付に影響を与える可能性があります。たとえば、次の文字列について考えてみましょう。

2011-09-24
ログイン後にコピー

この文字列をそのまま使用して Date オブジェクトを作成すると、1 日ずれた日付が返される可能性があります。ただし、ハイフン (「-」) をスラッシュ (「/」) に変更すると、結果の日付は正確になります。

2011/09/24
ログイン後にコピー

日付/時刻文字列

日付文字列に時間コンポーネントが含まれている場合 (例: "2011-09-24T00:00:00")、ハイフンとスラッシュのトリックは機能しなくなる可能性があります。この場合、正規表現を使用して時刻コンポーネントを削除できます。

new Date("2011-09-24T00:00:00".replace(/-/g, '/').replace(/T.+/, ''));
ログイン後にコピー

Separate Arguments

Date オブジェクトを作成するもう 1 つの方法は、別の引数を指定することです。年、月、日 (オプションで時、分、秒、ミリ秒も指定可能)。この方法は、特定の日付を計算したり、特定のロケールで日付を操作したりする場合に役立ちます。

たとえば、次のコードは 2011 年の最初と最後の日を取得します。

new Date(2011, 0); // First day of 2011
new Date((2011 + 1), 0, 0); // Last day of 2011
ログイン後にコピー

この場合、月は 0 から始まるので、「0」は 1 月を表します。

これらの特性を理解することで、誤った日付を回避し、効率的に作業できるようになります。 JavaScript の日付を使用します。

以上が私の JavaScript 日付オブジェクトが 1 日ずれているのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート