32

日時形式から時間を抽出するにはどうすればよいですか。

私の日時形式を以下に示します。

var datetime =2000-01-01 01:00:00 UTC;

01.00私は時間を取得したいだけです01

4

9 に答える 9

56

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

Date.prototype.toLocaleTimeString() システム設定に基づいて、この日付の時間部分の地域に依存した表現を持つ文字列を返します。

var time = datetime.toLocaleTimeString();

アップデート:

新しい locales および options 引数により、アプリケーションは書式設定規則を使用する言語を指定し、関数の動作をカスタマイズできます。ロケールとオプションの引数を無視する古い実装では、使用されるロケールと返される文字列の形式は完全に実装に依存します。

// Depending on timezone, your results will vary
var event = new Date('August 19, 1975 23:15:30 GMT+00:00');

console.log(event.toLocaleTimeString('en-US'));
// expected output: 1:15:30 AM

console.log(event.toLocaleTimeString('it-IT'));
// expected output: 01:15:30
于 2015-03-05T16:05:55.083 に答える
19

これらの方法はどうですか

new Date()。getHours()

new Date()。getMinutes()

例えば:

 var d = new Date();
 var n = d.getHours();

編集済み

普遍的な時間に従って、時間を返します。

new Date()。getUTCHours()

例:

var d = new Date();
var n = d.getUTCHours(); 
于 2013-03-21T11:36:41.643 に答える
8

文字列から時間を取得したい場合の代替手段として -

var datetime ="2000-01-01 01:00:00 UTC";
var myTime = datetime.substr(11, 2);
alert(myTime) //01
于 2013-03-21T11:40:23.503 に答える
3
var datetime = ("2000-01-01 01:00:00 UTC");
var d1 = new Date(datetime);
var minute = d1.getUTCMinutes();
var hour = d1.getUTCHours();
if(minute > 0)  
     alert(hour+"."+minute);
else
     alert(hour);

デモ

于 2013-03-21T11:41:53.280 に答える
2

次のコードを使用します。

var datetime = "2000-01-01 01:00:00 UTC";

var dt = new Date(datetime);
var hr = dt.getUTCHours();
if(hr > 12) {
   hr -= 12;
}
alert(hr);

このリンクも参照してください。

于 2013-03-21T11:34:31.953 に答える
1

次のようなDateオブジェクトがあると仮定します

var datetime = new Date("2000-01-01 01:00:00 UTC"); // might not parse correctly in every engine
// or
var datetime = new Date(Date.UTC(2000, 0, 1, 1, 0, 0));

次にgetUTCHoursメソッドを使用します:

datetime.getUTCHours(); // 1
于 2013-03-21T11:40:54.420 に答える