web-dev-qa-db-ja.com

Jqueryで現在の日付と時刻を確認する方法

Jqueryで現在の日付と時刻を確認する方法があったのかと思っただけです。

18
akano1

JavaScriptでは、 Dateオブジェクト を使用して現在の日付と時刻を取得できます。

var now = new Date();

これはローカルクライアントマシンの時刻を取得します。タイムゾーンの調整を行う場合やサーバーから時刻を取得する場合は、 この質問 に対する私の回答を確認してください。


編集:コメントに応じて、クライアント側へのサーバー時間を非常に簡単に取得できます。

time.php

<? echo '{serverTime: new Date(' . time()*1000 .')}';?>

単純な [〜#〜] json [〜#〜] 文字列が作成され、新しいDateオブジェクトが現在のサーバーで初期化されます time 、この値は1000倍されます、 PHPはタイムスタンプを秒単位で処理し、JavaScriptはミリ秒単位で処理するためです。

そしてもう一方では、次のようなサーバー時間を取得できます。

$.getJSON('time.php', function (data) {
  alert(data.serverTime);
});

getJSON リクエストを発行してtime.phpから日付を取得し、返されたオブジェクトのserverTimeプロパティにアクセスします。

21
CMS

クライアントマシンから現在の日付と時刻を取得することは、神の習慣ではありません。

このチェックをサーバー側で行います。

JQueryを使用してページに対してAjaxリクエストを行い、現在の日付と時刻を返すことができます。

6
rahul

これまでに提供された回答を明確にするために...

  1. 現在の日付を取得することは、jqueryを使用するために必要なものではありません(たとえそれを実行する能力があったとしても)。生のJavaScriptがこの機能を提供するためです。

    var currentTimeAndDate = new Date();

  2. ごくわずかな例外はありますが、現在の時刻/日付をクライアントマシンから取得することは避けてください。時計が正しく設定されているかどうかを知る方法がないためです。ある程度の予測可能性を提供するために、常にサーバーから日時を取得します。ただし、これは、クライアントがサーバーの1日前または1日遅れになる可能性があるため、完全なものではないため、アプリケーションに適した方法で状況を処理する方法を決定する必要があります。

更新:

日付と時刻の取得を静的と動的に区別する必要もあります。

静的とは、サーバーが時刻/日付をページに直接レンダリングするときのことです。たとえば、「このページは1962年7月24日12:34 GMTに生成されました」(このWebを考えると、きちんとしたトリックになるでしょう)サーバーは1962年には存在しませんでした)。

動的とは、AJAX呼び出しを使用してサーバーに現在の時刻を要求することにより、クライアントページが時刻表示をアクティブに更新したときです。これは、@ CMSによって提供される応答に記述されているメソッドです

2
belugabob