jQueryで現在の時刻を取得する方法


129

次の例では、時間をマイクロ秒単位で返します(例:4565212462)。

alert( $.now() );

(時間:分:秒)のように、人間が読める形式に変換するにはどうすればよい ですか?


1
$.now()JavaScriptにはネイティブ実装があるため、jQueryは必要ありません。stackoverflow.com
Josh Crozier

修正:(1)これはネイティブのDate.now()に置き換えられました。(2)返される時間はマイクロ秒ではなくミリ秒単位です。
den232

回答:


304

あなたはこのように試すことができます:

new Date($.now());

また、JavaScriptを使用すると、次のようにできます。

var dt = new Date();
var time = dt.getHours() + ":" + dt.getMinutes() + ":" + dt.getSeconds();
document.write(time);


7
.getHours()はローカルマシンのタイムゾーンの時間を返すことに注意してください。ユーザーがブラウザをあなたとは別のタイムゾーンに持っている場合、ユーザーはgetHoursから他の結果を取得します。これは.toString()メソッドにも当てはまります。JavaScriptでタイムゾーンを制御するのは注意が必要です(目的のタイムゾーンとのオフセットを計算し、それに応じて日付を変更する必要があります)。したがって、別の回答で述べたように、moment.jsを使用することは良い考えのように思えます。momentjs.com
Chris

1
また、各getにpadStartを含めることを検討する必要があります。dt.getMinutes()。toString.padStart(2、 '0')これにより、数字が2桁のままでパッドされたゼロが維持され、提案されたJavaScript機能に従う-かなりきれい将来は、防音:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/...
負のゼロ

2
@NegativeZero本当に役立つ(必須ではないにしても)提案。残念ながら、Firefoxでは動作しませんでした(他のブラウザーではテストしていません)。ただし、それをString(dt.getMinutes())。padStart(2、 '0')に書き換えるとうまくいきます。
biscuitstack

54

すべての「数値」を手動でフェッチする必要があります

このような:

var currentdate = new Date(); 
    var datetime = "Now: " + currentdate.getDate() + "/"
                + (currentdate.getMonth()+1)  + "/" 
                + currentdate.getFullYear() + " @ "  
                + currentdate.getHours() + ":"  
                + currentdate.getMinutes() + ":" 
                + currentdate.getSeconds();

document.write(datetime);


39

DateいずれかDate.prototypeの変換ゲッターを使用して、オブジェクトを文字列に変換します。次に例を示します。

var d = new Date();
d+'';                  // "Sun Dec 08 2013 18:55:38 GMT+0100"
d.toDateString();      // "Sun Dec 08 2013"
d.toISOString();       // "2013-12-08T17:55:38.130Z"
d.toLocaleDateString() // "8/12/2013" on my system
d.toLocaleString()     // "8/12/2013 18.55.38" on my system
d.toUTCString()        // "Sun, 08 Dec 2013 17:55:38 GMT"

または、さらにカスタマイズしたい場合はDate.prototypeのゲッターメソッドのリストを参照してください。


25

このためにjQueryを使用する必要はありません。

ネイティブJavaScriptの実装ですDate.now()

Date.now()$.now()同じ値を返します:

Date.now(); // 1421715573651
$.now();    // 1421715573651
new Date(Date.now())   // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)
new Date($.now());     // Mon Jan 19 2015 20:02:55 GMT-0500 (Eastern Standard Time)

..そして時刻をhh-mm-ssでフォーマットしたい場合:

var now = new Date(Date.now());
var formatted = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds();
// 20:10:58

1
現在ではデフォルトになっているため、new Date()にパラメーターを提供する必要はありません。
Andrew Spode 2015

1
@スポードああ、良い点。他の回答がjQueryを使用していた理由がわかりません。
Josh Crozier 2015

17

.clock {
width: 260px;
margin: 0 auto;
padding: 30px;
color: #FFF;background:#333;
}
.clock ul {
width: 250px;
margin: 0 auto;
padding: 0;
list-style: none;
text-align: center
}

.clock ul li {
display: inline;
font-size: 3em;
text-align: center;
font-family: "Arial", Helvetica, sans-serif;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff, 0 4px 7px #55c6ff
}
#Date { 
font-family: 'Arial', Helvetica, sans-serif;
font-size: 26px;
text-align: center;
text-shadow: 0 2px 5px #55c6ff, 0 3px 6px #55c6ff;
padding-bottom: 40px;
}

#point {
position: relative;
-moz-animation: mymove 1s ease infinite;
-webkit-animation: mymove 1s ease infinite;
padding-left: 10px;
padding-right: 10px
}

/* Animasi Detik Kedap - Kedip */
@-webkit-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}

@-moz-keyframes mymove 
{
0% {opacity:1.0; text-shadow:0 0 20px #00c6ff;}
50% {opacity:0; text-shadow:none; }
100% {opacity:1.0; text-shadow:0 0 20px #00c6ff; } 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
// Making 2 variable month and day
var monthNames = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; 
var dayNames= ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]

// make single object
var newDate = new Date();
// make current time
newDate.setDate(newDate.getDate());
// setting date and time
$('#Date').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());

setInterval( function() {
// Create a newDate() object and extract the seconds of the current time on the visitor's
var seconds = new Date().getSeconds();
// Add a leading zero to seconds value
$("#sec").html(( seconds < 10 ? "0" : "" ) + seconds);
},1000);

setInterval( function() {
// Create a newDate() object and extract the minutes of the current time on the visitor's
var minutes = new Date().getMinutes();
// Add a leading zero to the minutes value
$("#min").html(( minutes < 10 ? "0" : "" ) + minutes);
},1000);

setInterval( function() {
// Create a newDate() object and extract the hours of the current time on the visitor's
var hours = new Date().getHours();
// Add a leading zero to the hours value
$("#hours").html(( hours < 10 ? "0" : "" ) + hours);
}, 1000); 
});
</script>
<div class="clock">
<div id="Date"></div>
<ul>
<li id="hours"></li>
<li id="point">:</li>
<li id="min"></li>
<li id="point">:</li>
<li id="sec"></li>
</ul>
</div>


9

jQuery.now() 戻り値:数値

説明:現在の時刻を表す数値を返します。

このメソッドは引数を受け入れません。

$.now()この方法は、式によって返される数の省略形です(new Date).getTime()

http://api.jquery.com/jQuery.now/

JavaScriptを使用するのは簡単です。

var d = new Date();
var time = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
console.log(time);

5

jQueryの$ .now()は、内部JavaScript関数であるnew Date()。getTime()のエイリアスです。

http://api.jquery.com/jquery.now/

これは、1970年から経過した秒数を返します。通常は(必ずしも正しくはありません)、Unix Time、Epoch、またはTimestampと呼ばれ、該当する円によって異なります。簡単な計算を使用して日付/時刻の差を計算するのに非常に便利です。 。TimeZone情報はなく、常にUTCです。

http://en.wikipedia.org/wiki/Unix_time

このエイリアス以外にjQueryを使用する必要はありません。日付/時刻の操作に役立つことは他にありません。

時間をテキストで表すための迅速で汚い方法を探している場合、JavaScriptのDateオブジェクトには、ISO形式の日時を返す「toString」プロトタイプがあります。

new Date().toString();
//returns "Thu Apr 30 2015 14:37:36 GMT+0100 (BST)"

ただし、書式設定をカスタマイズすることをお勧めします。Dateオブジェクトには、関連する詳細を引き出す機能があるため、独自の文字列表現を構築できます。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

var d = new Date(); //without params it defaults to "now"
var t = d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds();
//Will return 14:37:36

ただし、jQueryソリューションを要求したように、古いブラウザーで作業している可能性があります。より具体的なこと、特に文字列をDateオブジェクトに解釈する(API応答に役立つ)場合は、Moment.jsを確認することをお勧めします。

http://momentjs.com/

これにより、ブラウザ間の互換性が確保され、多数の文字列を連結する必要がなく、フォーマットが大幅に改善されます。例えば:

moment().format('hh:mm:ss');
//Will return 14:37:36

4

私はすべての時間の操作/表示のニーズ(クライアント側と、使用する場合はnode.jsの両方)に瞬間を使用します。単純なフォーマットが必要な場合は、上記の回答が行うので、もう少し複雑なものを探している場合は、瞬間はIMOへの道です。


3
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
</script>
<script>
    function ShowLocalDate()
    {
    var dNow = new Date();
    var localdate= (dNow.getMonth()+1) + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' + dNow.getHours() + ':' + dNow.getMinutes();
    $('#currentDate').text(localdate)
    }
</script>

</head>
<body>
    enter code here
    <h1>Get current local enter code here Date in JQuery</h1>
    <label id="currentDate">This is current local Date Time in JQuery</p>
    <button type="`enter code here button onclick="ShowLocalDate()">Show Local DateTime</button>

</body>
</html> 

あなたは以下のリンクから詳細情報を得ることができます

http://www.morgantechspace.com/2013/11/Get-current-Date-time-in-JQuery.html#GetLocalDateTimeinJQuery




0

ISO8601SQLの現地時間のTIMESTAMP場合、次のことを試すことができます。

var tzoffset = (new Date()).getTimezoneOffset() * 60000;
var localISOTime = (new Date(Date.now() - tzoffset))
  .toISOString()
  .slice(0, 19)
  .replace('T', ' ');
$('#mydatediv').val(localISOTime);


0

<p id="date"></p>

<script>
var d = new Date();
document.getElementById("date").innerHTML = d.toTimeString();
</script>

JSではDate()を使用できます。


0

以下

function gettzdate(){
    var fd = moment().format('YYYY-MM-DDTHH:MM:ss');
    return fd ; 
}

現在の日付を強制的に <input type="datetime-local">

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.