私はJavaScriptで作業しています。私は以下の形式で日付を持っています:
Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time)
以下の形式で表示したい
'Y-m-d h:i:s'
また
(Tue Sep 18 2012 00:00:00 GMT+0530 (India Standard Time))
JavaScriptでこの形式からのみ時間を取得するにはどうすればよいですか?
私はJavaScriptで作業しています。私は以下の形式で日付を持っています:
Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time)
以下の形式で表示したい
'Y-m-d h:i:s'
また
(Tue Sep 18 2012 00:00:00 GMT+0530 (India Standard Time))
JavaScriptでこの形式からのみ時間を取得するにはどうすればよいですか?
オブジェクトがある場合は、次のDate
ように実行できます。
var timeString = myDate.getFullYear() + '-' + (myDate.getMonth()+1) + '-'
+ myDate.getDate() + ' ' + myDate.getHours() + ':' + myDate.getMinutes() + ':'
+ myDate.getSeconds();
前にこれを行うだけの場合String
:
var myDate = new Date('Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time) ');
日付を操作するのに役立つ優れたライブラリがいくつかあります(たとえば、 date.js、moment.js)。
コメントの1つで、追加のjsファイルを含めたくないと述べたので、現在のコードに簡単にコピー&ペーストまたは適応できる小さなバージョン( dateFormatなど)もあります。
既存の日付フォーマッターを使用する代わりに、本当に独自の日付フォーマッターをロールしたい場合は、Dateオブジェクトによって提供されるメソッドを使用して独自の文字列を作成するだけです。
簡単な例を次に示します。
function getMyDateFormat(date) {
var d = date ? new Date(date) : new Date;
var dt = [d.getFullYear(), d.getMonth(), d.getDay()].join("-"),
tm = [d.getHours(), d.getMinutes(), d.getSeconds()].join(":");
return dt + " " + tm;
}
使用例:
str = getMyDateFormat(); // default (current datetime)
// 2012-8-4 14:3:22
str = getMyDateFormat("Tue Sep 18 2012 01:30:00 GMT+0530 (India Standard Time");
// output (in my locale): 2012-8-1 21:0:0
var now = new Date();
str = getMyDateFormat(now); // using a date object
// output: 2012-8-4 14:3:22
デモ: http: //jsfiddle.net/6ByFN/
そして、これが1桁の値を0で埋めるバリアントです:http://jsfiddle.net/6ByFN/1/
Moment.jsは、日付の解析とフォーマットに役立つ優れたJSライブラリです。