2013-04-10 20 views
6

JavaScriptを使用して日付文字列から時刻を取得する方法を教えてください。 2013-04-08T10:28:日付文字列の時刻を取得する

私の日付ストリングは、以下の方法である43Z

時間と分の形式で時間を分割する方法。私は、次のようにアクティビティストリームを表示する:

xxxは yyyはISO文字列として知られていただきました。これは、ある

+2

あなたはこれを見て持つことができます。 Darshan

+0

http://www.w3schools.com/js/js_obj_date.asp - チュートリアル http://www.w3schools.com/jsref/jsref_obj_date.asp - JavaScriptの日付オブジェクトの参照 – Viliam

+0

[javascript Date ISO8601]の可能な複製http://stackoverflow.com/questions/6228302/javascript-date-iso8601) –

答えて

1

シンプルJavascriptが十分以上のものです: Date.parseは、タイムスタンプにあなたの文字列を変換します:

var date_string = '2013-04-08T10:28:43Z'; 

var your_date_object = new Date(); 
your_date_object.setTime(Date.parse(date_string)); 

var min = your_date_object.getUTCMinutes(); 
var hour = your_date_object.getUTCHours(); 
+0

日付はISO文字列形式です – vishnu

10

ただ、新しいDateオブジェクトを作成します。

var myDate = new Date("2013-04-08T10:28:43Z"); 

var minutes = myDate.getMinutes(); 
var hours = myDate.getHours(); 
+2

これはなぜダウンリストされていますか? JavaScriptは、そのままの状態でISO 8601形式をサポートします。 –

+0

@Jackありがとう!最後に誰かが合理的です。 – Stasel

+0

はい、これはまさに正しいことです。また、var秒= myDate.getSeconds(); – pollaris

1

あなたのdateStから日付を抽出するリング

まず、あなたはDateオブジェクトを構築したり、

var dateObject = new Date(+sp[0], +sp[1]-1, +sp[2], +sp[3], +sp[4], +sp[5]) 

、このステップをスキップして、このDateオブジェクトにgetHoursgetMinutesを呼び出すことができます

var sp = dateString.match(/\d+/g) 

と数字を抽出します。

これをスキップした場合は、直接+sp[3]、時間は+sp[4]となります。


計算違い

あなたが今と比較する必要があるように見えるので、あなたがこの方法の時間差を取得します:

var timeDifference = new Date(new Date - dateObject); 

そしてtimeDifferencegetHoursgetMinutesを呼び出します。

-1
var curr_date = new Date(); 
var test_date = new Date("2016-01-08 10:55:43"); 

hours_diff=Math.abs(test_date.getHours()-curr_date.getHours()); 
minutes_diff=Math.abs(test_date.getHours()*60+test_date.getMinutes()-curr_date.getHours()*60-curr_date.getMinutes()); 
console.log("xxx has updated "+hours_diff+" hours ago"); 
console.log("xxx has updated "+minutes_diff+" minutes ago"); //not so beautiful 

///STILL IF THE date is a string and !!NOT CREATED with DATE 
/// "Get the time from a date string" might have this solution 

var date = "2016-01-08 10:55:43"; 
var hours = date.slice(-8); 

console.log("hours and minutes string is "+hours); 

fiddle test

関連する問題