フォーマット付きの動的文字列がありHH:mm:ss
ます(例18:19:02
)。文字列をJavaScriptの日付オブジェクトに変換するにはどうすればよいですか(Internet Explorer 8、Chrome、Firefoxの場合)。
私は次のことを試しました:
var d = Date.parse("18:19:02");
document.write(d.getMinutes() + ":" + d.getSeconds());
フォーマット付きの動的文字列がありHH:mm:ss
ます(例18:19:02
)。文字列をJavaScriptの日付オブジェクトに変換するにはどうすればよいですか(Internet Explorer 8、Chrome、Firefoxの場合)。
私は次のことを試しました:
var d = Date.parse("18:19:02");
document.write(d.getMinutes() + ":" + d.getSeconds());
のような時刻から直接 Date オブジェクトを作成することはできませんHH:mm:ss
。
ただし、現在の日付(Dateオブジェクトの日の部分が今日である)が必要な場合、またはあなたのケースでは問題にならない場合、次のことができます:
let d = new Date(); // Creates a Date Object using the clients current time
let [hours, minutes, seconds] = "18:19:02".split(':');
d.setHours(+hours); // Set the hours, using implicit type coercion
d.setMinutes(minutes); // can pass Number or String - doesn't really matter
d.setSeconds(seconds);
// If needed, you could also adjust date and time zone
console.log(d.toString()); //Outputs desired time (+current day/timezone)
これで、指定した時刻に加えて、クライアントの現在の日付とタイムゾーンを含む Date オブジェクトが作成されました。
これを試してください(jQueryと日付オブジェクトなしで(時間だけです)):
var
pieces = "8:19:02".split(':')
hour, minute, second;
if(pieces.length === 3) {
hour = parseInt(pieces[0], 10);
minute = parseInt(pieces[1], 10);
second = parseInt(pieces[2], 10);
}
日付部分が欠落しているため、Dateオブジェクトが正しく設定されることはありません。これは機能するはずです:
var d = new Date("1970-01-01 18:19:02");
document.write(d.getMinutes() + ":" + d.getSeconds());