私は雇用主の社内Webの存在に取り組んでおり、保存したい古いVBScriptがあります。それはIEで表示されますが、他のブラウザではうまくいきません。なぜなら、私が理解しているVBScriptは廃止されているからです。このスクリプトは現在の日付をとり、消防署の日のカレンダーにある「単位」の日を計算します。今日(2月26日)は、例えば「1ユニット」または「グリーンユニット」であり、次のラインは2ユニット/ブルーユニット、次に3ユニット/レッドユニットである。うるう年の場合、余分な日は「0単位」または「ホワイト単位」とみなされます。だからここ古いVBScriptからJavaScriptへの変換
は古いVBScriptのです:
// This script is intended to calculate the fire department "unit" day
var d, sd, pd, psd, iElapsed, iLeapYears, iUnit
// Sets start date
sd = new Date("March 10, 2008");
// Sets current date
d = new Date();
// Calculates the milliseconds between each date and January 1, 1970
psd = sd.getTime();
pd = d.getTime();
// Calculates milliseconds between the two dates and divides by the number of milliseconds in a day to determine how many days have passed
iElapsed = (pd - psd)/86400000;
// Calculates leap year
if (d.getMonth() > 1) {
iLeapYears = (d.getFullYear() - 2008)/4;
} else {
iLeapYears = 0;
}
iElapsed = iElapsed + iLeapYears;
iUnit = (iElapsed % 3 + 1);
document.getElementById("DisplayUnitDay").innerHTML = iUnit;
現在の日付のために、それは私の結果を与える:
Sub UpdateClock()
Dim iDOW, iElapsed, iLeapYears, iUnit, sDate, sTime, aDOW, aUnitColor, sHTML
aUnitCOlor = Array("white", "green", "blue", "red")
aDOW = Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
iElapsed = DateDiff("d", "3/10/2008", Date)
iDOW = WeekDay(Date)
iLeapYears = Int((Year(Date)-2008)/4)
If Month(Date) > 2 Then iLeapYears = iLeapYears
iElapsed = iElapsed + iLeapYears
iUnit = (iElapsed Mod 3) + 1
' sDate = aDOW(iDOW) & " " & FormatDateTime(Date,2)
sDate = WeekdayName(DatePart("w", Now())) & " " & FormatDateTime(Date, 2)
sTime = FormatDateTime(Time, 3)
sHTML = "<font size='1' face='Franklin Gothic Book'>" & sDate & "; " & sTime & "<br>"
sHTML = sHTML & "<font size='1' face='Franklin Gothic Book' color='" & aUnitColor(iUnit) & "'>" & CStr(iUnit) & " Unit</font><br>"
Clock.innerHTML = sHTML
End Sub
setInterval "UpdateClock()", 1000
そして、ここでは、私はそれを再作成しようと書いたJavaScriptのです3.9499762037034998(私の最後のリフレッシュに基づいて)しかし、それは私にユニットの日は3ではないことを伝えているはずです。3ユニットは2日後です。私は単純な何かが欠落しているか、または私が作業しているVBScriptに欠陥がある(または、おそらく私はそれを正しく解釈していない)ように感じる。
誰かが私を方向に向けることができますか?私の雇用主は、すべての内部コンピュータにIEを必要としていますが、個人的には、他のブラウザでも動作させたいと思います。
この迅速に戻ってきていないため、私の心からの謝罪を受け入れてください。 Stack Overflowに関する質問をして、誰かが答えた後1ヶ月間それを放棄すると、私が作りたかった最初の印象ではありませんでした。私はプロジェクトの別の部分で横行してしまったので、しばらくの間それを棚上げした後でこれを再訪しています。私にいくつかの助けを提供する時間を取ってくれてありがとう。私はGMT-4です。今日は1日またはグリーンユニットの日にする必要がありますが、2/Blueとして登録します。私の上司によれば、うるう年があるたびにこれを調整する必要があります。 – joshuaw
私は比較のために間違った日付を使用している可能性が非常に高いです。以前のデザイナーは数千種類のスパゲッティコードのページにまたがるVBScriptのいくつかのバージョンを持っていました。なぜならこれは新しいサイトを最初から始めたからです。私はJavaScriptを初めて使っても問題は解決しません。 – joshuaw