Javascriptの2つの日付の違いをUTCで時間、分、秒で取得する

ユーザー7621056

タイトルにあるように、2 つの日付の差を取得し、終了日までの時間、分、秒を表示する必要があります。私はこれを持っています:

function timer(){
	
	'use strict'
	
	var date1 = new Date().getTime();
	var date2 = new Date("05/29/2017").getTime();
	
	var diff = date2 - date1;
	
	var seconds = diff / 1000;
	var minutes = (diff / 1000) / 60;
	var hours = minutes / 60;

	var message = 'Hours: ' + Math.floor(hours) + " Minutes: " + Math.floor(minutes) + " Seconds: " + Math.floor(seconds); 
	
	var output = document.getElementById('output');
	if (output.textContent !== undefined) {
		output.textContent = message;
	} else {
		output.innerText = message;
	}
}
setInterval("timer()", 1000);
window.onload = timer;
<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>hi</title>
    <!--[if lt IE 9]>
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="css/form.css">
</head>
<body>
    <!-- auction.html -->
    <form action="#" method="post" id="theForm">
        <fieldset><legend>Auction ends on May 29, 2017</legend>
		    <p>Refresh page for updated times.</p>
			<div id="output"></div>
            <input type="submit" value="Refresh" id="submit">
        </fieldset>
    </form>
    <script src="js/auction.js"></script>
</body>
</html>

私の課題の指示には、「将来の終了日を選択し (課題の期限から数週間後)、UTC を使用する必要があると記載されています。オークションが終了するまでの時間、分、秒を表示します。」UTC を実装して適切なカウントダウンを作成する方法がわかりません。私がそれを正しく行ったかどうかさえわかりません (私は js を学び始めたばかりです)。コードを修正するにはどうすればよいですか?

RobG

あなたのコードには次のものがあります。

var date1 = new Date().getTime();

この場合、getTimeを使用する必要はありませんただし、意味のある変数名を使用すると便利です。

var now = new Date();

次に、次のとおりです。

var date2 = new Date("05/29/2017").getTime();

Date コンストラクター (または Date.parse) を使用して文字列を解析しないでください。ほとんどの場合、実装に依存し、一貫性がないためです。特定の日付がある場合は、値をコンストラクターに直接渡します。

use UTCに関しては、ECMAScript Date オブジェクトは UTC であるため、少し混乱します。これらは、ホストのタイムゾーン オフセットを使用して、内部 UTC 時間値を計算し、「ローカル」な日付と時刻の値を表示します。「UTC を使用する」と解釈できる唯一の方法は、Date.UTC を使用して日付インスタンスを作成することです。たとえば、次のようになります。

var endDate = new Date(Date.UTC(2017,4,29)); // 2017-05-29T00:00:00Z

次を使用して、当時と現在との違いを取得できます。

var diff = endDate - now; 

時間、分、秒を取得しようとすると、次のようになります。

var seconds = diff / 1000;
var minutes = (diff / 1000) / 60;
var hours = minutes / 60;

これは、差全体を時間、分、秒のそれぞれに変換するため、合計時間は本来の約 3 倍になります。必要なのはコンポーネントだけなので、次のようになります。

var hours = Math.floor(diff / 3.6e5);
var minutes = Math.floor(diff % 3.6e5) / 6e4);
var seconds = Math.floor(diff % 6e4) / 1000;

すべてを 1 つの関数にまとめる:

function timeLeft() {
    var now = new Date();
    var endDate = new Date(Date.UTC(2017,4,29)); // 2017-05-29T00:00:00Z
    var diff = endDate - now; 

    var hours   = Math.floor(diff / 3.6e6);
    var minutes = Math.floor((diff % 3.6e6) / 6e4);
    var seconds = Math.floor((diff % 6e4) / 1000);
    console.log('Time remaining to ' + endDate.toISOString() + 
                ' or\n' + endDate.toString() + ' local is\n' +
                 hours + ' hours, ' +  minutes + ' minutes and ' + 
                 seconds + ' seconds');
}

timeLeft()

ここには、タイマーと日付の違いに関する多くの質問と回答があります。検索を行ってください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

日、時間、分、秒の数で2つの日付の差を取得する方法

分類Dev

Swiftで2つの日付の差(月/日/時間/分/秒)を取得する

分類Dev

24時間を超える時間分と秒の2つの日付の違いを取得する失敗

分類Dev

2つの日付の差を時間、分、秒で取得するにはどうすればよいですか。

分類Dev

アンドロイドで日、時間(24)、分(60)、秒(60)の2つの日付の違いを取得する方法

分類Dev

ThreeTenABPを適切に使用して、UTCに基づいて2つの日付間の時間をミリ秒単位で取得する方法

分類Dev

日、時間、分、秒で日付の差を取得します(AM / PM日付)

分類Dev

Javaでは、2つの日付間の秒単位の違いをどのように取得しますか?

分類Dev

dd / mm / yyyy hh:mmの形式で2つの日付の時間と分の違いを見つけます

分類Dev

2つの日付の間の秒とナノ秒の時間の違いを見つける方法は?

分類Dev

JavaScriptで2つの日付の違いを取得しますか?

分類Dev

Pythonで2つのUNIXの日付の違いを取得する

分類Dev

Javascriptで2つのUTC時間の違いを見つける方法は?

分類Dev

2つの日付間のJavascriptの戻り日数、時間、分、秒

分類Dev

2つの日付のPostgreSQLの違いと、時間と分での戻り値

分類Dev

2つの時間間隔の間で金曜日の日付を取得する方法

分類Dev

bashで2つの日付の違いを取得する方法

分類Dev

JavaScript-2つの日付間の分を取得する

分類Dev

SQLで2つの日付の間の時間を取得する方法

分類Dev

Javaで現在の年、月、日、時間、分、秒、ミリ秒を取得する方法は?

分類Dev

joda時間を使用した2つの日付間の秒単位の違い?

分類Dev

Pythonで2つの日付変数間の時間差を取得する方法

分類Dev

時間/分/秒の文字列で日付を初期化します

分類Dev

Java androidで2つの日時間のミリ秒/秒/分が正しく取得されない

分類Dev

SQL Server で金曜日を除く 2 つの日付間の日付の違いを取得します。

分類Dev

JavaScriptで2つの日付の違いを取得するにはどうすればよいですか?

分類Dev

時間と分の2つの日付の違い

分類Dev

毎日1時間ごとに2つの日付の間のすべての日付を取得するにはどうすればよいですか?

分類Dev

anglejsで2つの日付から時間の差を取得する方法

Related 関連記事

  1. 1

    日、時間、分、秒の数で2つの日付の差を取得する方法

  2. 2

    Swiftで2つの日付の差(月/日/時間/分/秒)を取得する

  3. 3

    24時間を超える時間分と秒の2つの日付の違いを取得する失敗

  4. 4

    2つの日付の差を時間、分、秒で取得するにはどうすればよいですか。

  5. 5

    アンドロイドで日、時間(24)、分(60)、秒(60)の2つの日付の違いを取得する方法

  6. 6

    ThreeTenABPを適切に使用して、UTCに基づいて2つの日付間の時間をミリ秒単位で取得する方法

  7. 7

    日、時間、分、秒で日付の差を取得します(AM / PM日付)

  8. 8

    Javaでは、2つの日付間の秒単位の違いをどのように取得しますか?

  9. 9

    dd / mm / yyyy hh:mmの形式で2つの日付の時間と分の違いを見つけます

  10. 10

    2つの日付の間の秒とナノ秒の時間の違いを見つける方法は?

  11. 11

    JavaScriptで2つの日付の違いを取得しますか?

  12. 12

    Pythonで2つのUNIXの日付の違いを取得する

  13. 13

    Javascriptで2つのUTC時間の違いを見つける方法は?

  14. 14

    2つの日付間のJavascriptの戻り日数、時間、分、秒

  15. 15

    2つの日付のPostgreSQLの違いと、時間と分での戻り値

  16. 16

    2つの時間間隔の間で金曜日の日付を取得する方法

  17. 17

    bashで2つの日付の違いを取得する方法

  18. 18

    JavaScript-2つの日付間の分を取得する

  19. 19

    SQLで2つの日付の間の時間を取得する方法

  20. 20

    Javaで現在の年、月、日、時間、分、秒、ミリ秒を取得する方法は?

  21. 21

    joda時間を使用した2つの日付間の秒単位の違い?

  22. 22

    Pythonで2つの日付変数間の時間差を取得する方法

  23. 23

    時間/分/秒の文字列で日付を初期化します

  24. 24

    Java androidで2つの日時間のミリ秒/秒/分が正しく取得されない

  25. 25

    SQL Server で金曜日を除く 2 つの日付間の日付の違いを取得します。

  26. 26

    JavaScriptで2つの日付の違いを取得するにはどうすればよいですか?

  27. 27

    時間と分の2つの日付の違い

  28. 28

    毎日1時間ごとに2つの日付の間のすべての日付を取得するにはどうすればよいですか?

  29. 29

    anglejsで2つの日付から時間の差を取得する方法

ホットタグ

アーカイブ