0

誰かがこれで私を助けることができますか?

var current_date=new Date('2012/12/21 22:59:59.997');
var result=current_date.getTime();

Firefoxで結果が得られませんが、Chromeで表示され、FFでは無効な日付が表示されます。

4

3 に答える 3

3

次のことができるはずです(を使用してdate.setMilliseconds):

var dateString = '2012/12/21 22:59:59.997';
var dateStringSplit = dateString.split('.');
var myDate = new Date(dateStringSplit[0]);
myDate.setMilliseconds(dateStringSplit[1]);
console.log(myDate);
于 2012-12-21T09:57:26.550 に答える
2

Firefoxやその他のブラウザ(SafariやOperaなど)はミリ秒を好みません。

// Split off the part after the dot
var current_date = new Date('2012/12/21 22:59:59.997'.split('.')[0]);

// Works everywhere!
var result = current_date.getTime();

本当にミリ秒で作業したい場合は、日付を複数の部分に分割しnew Date()てそれらで使用する必要があります。MDNドキュメントから、オプションは次のとおりです。

new Date(year, month, day [, hour, minute, second, millisecond])

または、h2oooooooが言うように、分割日の2番目の部分を使用してを使用できますsetMilliseconds

全体として、あなたにはたくさんの解決策があります。煩わしさが最も少ないものを選択してください。

于 2012-12-21T09:50:48.960 に答える
0

使用している形式は、 Date.parseの標準形式ではありません

文字列を分割して、パーツを個別に設定することもできます。また、日付文字列がどのタイムゾーンにあるかが明確でないため、タイムゾーンを正しく管理してください。

于 2012-12-21T09:51:48.293 に答える