\ みんなのコーディングバイブル /

トップ背景

jQueryで日時を表示する

WordPressなどのCMSで投稿した際に、記事の更新日が記載されています。

これをjQueryで日時表示するにはどう記述したらいいのか解説します。

実を言うと、意外と簡単です。

カスタマイズも簡単ですので、デザインカンプからの実装で付加価値として「こんなこともできますよ」と添えるのもアリです。

jQueryで日時を表示する

早速、コードを表示します。

表示したい箇所にdivタグをいれ、idを挿入します。

例として、idを「date」としました。

<div id="date"></div>

次に基礎となるjQueryです。

$(function(){
$('#date').text(new Date());
});

これだけで、下記の画像のように日本時間で表示されます。

結果

現在の日時をリアルタイムで表示する

現在の日時をリアルタイムで表示するには setInterval(); を追加します。

$(function(){
setInterval(function(){
$('#date').text(new Date());
}, 1000);
});
結果

動いていますね~

setInterval(function(){}, 1000); は1000ミリ秒毎に特定の処理を繰り返す記述です。

変数を使って現在日時を表示する

new Date()を使って現在日時を必要な部分だけ抜き出して表示します。

実装するには、変数の new Data() を使います。

その中に var nowという名前の箱を作ってそれに入れてあちこちで使いまわします。

$(function(){
var now = new Date();
var y = now.getFullYear();
var m = now.getMonth() + 1;
var d = now.getDate();
var w = now.getDay();
var wd = ['日', '月', '火', '水', '木', '金', '土'];
var h = now.getHours();
var mi = now.getMinutes();
var s = now.getSeconds();
$('#date').text(y + '年' + m + '月' + d + '日' + h + '時' + mi + '分' + s + '秒' + '(' + wd[w] + ')');
});

wという箱には曜日が入るのですが、ここには実際に曜日が入っているわけではなく0から6の数字(0:日曜日、1:月曜日~)が入っており、その数字を曜日に割り当てるための箱、wdという箱を作り、曜日が自動的に繰り返して表示される仕組み(配列)を作って曜日を表示させています。

.text()の中で変数や文字列を文字列として繋ぐのに「+」の記号(演算子)を使って繋いでいきます。

結果

桁数を揃える

表示された数字を見ていただければわかると思いますが、一桁だったり二桁だったりしています(年号を除いて)

それを01とか02というようにサンプル1・サンプル2のように二桁に統一したい場合は次のようにします。

$(function(){
setInterval(function(){
var now = new Date();
var y = now.getFullYear();
var m = now.getMonth() + 1;
var d = now.getDate();
var w = now.getDay();
var wd = ['日', '月', '火', '水', '木', '金', '土'];
var h = now.getHours();
var mi = now.getMinutes();
var s = now.getSeconds();
var mm = ('0' + m).slice(-2);
var dd = ('0' + d).slice(-2);
var hh = ('0' + h).slice(-2);
var mmi = ('0' + mi).slice(-2);
var ss = ('0' + s).slice(-2);
$('#date').text(y + '年' + mm + '月' + dd + '日' + hh + '時' + mmi + '分' + ss + '秒' + '(' + wd[w] + ')');
}, 1000);
});

mmやddのように二つ並べるだけです。

これで1秒 01秒になりましたね。

結果

必要な情報だけ表示する

必要な情報だけ表示するには、$(‘#date’).text(y + ‘年’ + mm + ‘月’ + dd + ‘日’ + hh + ‘時’ + mmi + ‘分’ + ss + ‘秒’ + ‘(‘ + wd[w] + ‘)’); 内を削除します。

それぞれの意味は y=年、m=月、d=日、h=時、mi=分、s=秒、wd=曜日 です。

例として、年月日のみにしてます。

$(function(){
setInterval(function(){
var now = new Date();
var y = now.getFullYear();
var m = now.getMonth() + 1;
var d = now.getDate();
var w = now.getDay();
var wd = ['日', '月', '火', '水', '木', '金', '土'];
var h = now.getHours();
var mi = now.getMinutes();
var s = now.getSeconds();
var mm = ('0' + m).slice(-2);
var dd = ('0' + d).slice(-2);
var hh = ('0' + h).slice(-2);
var mmi = ('0' + mi).slice(-2);
var ss = ('0' + s).slice(-2);
$('#date').text(y + '年' + mm + '月' + dd + '日');
}, 1000);
});
結果

漢字をスラッシュ「/」にします。

$(function(){
setInterval(function(){
var now = new Date();
var y = now.getFullYear();
var m = now.getMonth() + 1;
var d = now.getDate();
var w = now.getDay();
var wd = ['日', '月', '火', '水', '木', '金', '土'];
var h = now.getHours();
var mi = now.getMinutes();
var s = now.getSeconds();
var mm = ('0' + m).slice(-2);
var dd = ('0' + d).slice(-2);
var hh = ('0' + h).slice(-2);
var mmi = ('0' + mi).slice(-2);
var ss = ('0' + s).slice(-2);
$('#date').text(y + '/' + mm + '/' + dd + '日');
}, 1000);
});
結果

まとめ

これで時間表示を記述することが可能となりました。

また、カスタマイズも可能ですね。

デザインとしてどこに配置するのかがは適時判断してください。