[解決済み】2つの日付の時差を秒単位で取得する
質問
2つの日付の差を秒単位で取得しようとしています。ロジックは次のようなものです。
- 最初の日付(現在)を設定します。
- 最終日を設定します。これは、最初の日付に将来のある秒数を加えたものです(たとえば、15秒とします)。
- その2つの差(秒数)を取得します。
なぜ日付でやっているかというと、最終的な日付/時間は他の変数に依存し、決して同じにはならないからです(ユーザーが何かをする速さに依存します)また、他のことのために最初の日付も保存しています。
このようなことを試してみたのですが.
var _initial = new Date(),
_initial = _initial.setDate(_initial.getDate()),
_final = new Date(_initial);
_final = _final.setDate(_final.getDate() + 15 / 1000 * 60);
var dif = Math.round((_final - _initial) / (1000 * 60));
正しい差分を得ることができないことです。で割ってみましたが
24 * 60
秒単位で計算できるのですが、うまくいきません。私のロジックのどこが悪いのでしょうか?今更なので、何か馬鹿な間違いをしてるのかもしれませんが、うまくいかないのが悩みの種です :)
解決方法は?
コード
var startDate = new Date();
// Do your operations
var endDate = new Date();
var seconds = (endDate.getTime() - startDate.getTime()) / 1000;
あるいはもっとシンプルに
(endDate - startDate) / 1000
typescriptを使用していない限り、コメントで指摘されている通りです。
説明
を呼び出す必要があります。
getTime()
メソッドで
Date
オブジェクトを作成し、それを単純に引き算して1000で割ります(元々ミリ秒単位なので)。おまけに
getDate()
メソッドで得られるエポックタイムとは対照的に、実際には 1 から 31 までの整数値 (ゼロベースではない) でその月の日数を取得しています。
getTime()
メソッドから何ミリ秒経ったかを表しています。
1970年1月1日午前0時00分
暴言
日付に関する操作の内容によっては、以下のようなライブラリの統合に投資したほうがいいかもしれません。 日付.js または モーメント.js を作るものです。 とても簡単 しかし、これは個人の好みの問題です。
例えば
moment.js
を実行します。
moment1.diff(moment2, "seconds")
というのは、美しいですね。
この回答に対する有用なドキュメント
関連
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】BootstrapのCollapseが折りたたまれない
-
[解決済み】JavaScriptで「無効な日付」のDateインスタンスを検出する
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] JavaScriptで2つの日付を比較する
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み】Joda-Timeの2つの日付の間の日数について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javascript:getElementById対getElementsById(両方が別のページで動作する)。
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み] jQueryで、ユーザーがそのフィールドを編集している間、テキストフィールドの最初の文字を大文字にするにはどうすればよいですか?
-
[解決済み] 解決済み】clearInterval()が動作しない [重複] [重複]
-
[解決済み】別のjsファイル内でJavaScriptの関数を呼び出す
-
[解決済み】React、Uncaught ReferenceError。ReactDOMは定義されていません
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】WebSocket接続に失敗しました。WebSocket のハンドシェイク中にエラーが発生しました。予期しない応答コードです。400
-
[解決済み】JavaScriptで秒をHH-MM-SSに変換する?
-
[解決済み】2つの日付の間に何秒あるか計算する方法は?