IE で実行した場合:
var currentDate = new Date( );
alert(currentDate.get Year());
が表示されますが、FF では 108 です。これはなぜですか?
まず、「グリニッジ標準時 (GMT)」の時刻を理解しましょう。1900 年から始まります。この演算式を見てみましょう: 108 1900 = 2008
その理由は、FF が加算しないためです。コードは次のようになります:
/**
* 現在の日付を取得します
*
* @return {}
*/
function getCurrentDate() {
var userAgent = navigator.userAgent.toLowerCase();
// IE の年は 2008 年、FF は 108 年なので、
var currentDate.get Year() ;
if ($.browser.mozilla) {
current Year = 1900;
}
var currentDateStr = current Year '-' (currentDate.getMonth( ) 1) '-' currentDate.getDate() ;
return
};
その後、システムを実行しました。 GOOGLE ブラウザ Chrome でも同じ問題が発生しました...
この判定を見てください:
if ($.browser.mozilla)
ここで FF ブラウザかどうかが判定されます。 上記のコードは合格しました。テストでは、GOOGLE ブラウザはどうですか?
同様に判定も行いました:
var userAgent = navigator.userAgent.toLowerCase();
var chrome = /chrome/.test(userAgent);
jQuery のブラウザ判定が適用されます。ここのメソッドでは、正規表現を使用して一連のブラウザ パラメータを取得し、Chrome 文字列があるかどうかをクエリします。GOOGLE ブラウザがある場合、最終コードは次のようになります:
/**
* 現在の日付を取得します
*
* @return {}
*/
function getCurrentDate() {
var userAgent = navigator.userAgent.toLowerCase ();
//Google のブラウザであるかどうかを判断します
var chrome = /chrome/.test(userAgent);
var currentDate = new Date(); IE の年は 2008、FF は 108 であるため、
var currentyear = currentDate.get Year();
if ($.browser.mozilla || chrome) {
current Year = 1900; を決定します。 >}
var currentDateStr = currentyear '-' (currentDate.getMonth() 1) '-'
currentDate.getDate();
return
}; 🎜>他のブラウザも同様です 論理的推論で十分です
最後に注意すべきことは、月を取得するメソッドです: currentDate.getMonth() 1. 当初の設計では日付は 0 から始まるため、日付に 1 を加算する必要があります。取得した月。