2016-04-18 10 views
0

Ich arbeite an einem Skript, das 3+ täglich beginnend von Null am Anfang des Jahres hinzufügt, und fügen Sie +37 am Ende der Monat. Außerdem müssen Schaltjahre berücksichtigt werden. Dies ist, was ich bisher ...Skript zum Hinzufügen der gleichen Nummer täglich plus eine weitere Nummer am Ende des Monats

// Calculate new members since Jan 1st 2016 
var initialDate = new Date(2016, 0, 1); // Jan 1st 2016 
var now = Date.now(); 
var difference = 3 * (now - initialDate); 
var millisecondsPerDay = 24 * 60 * 60 * 1000; 
var daysSince = Math.floor(difference/millisecondsPerDay); 

// Write result to HTML 
document.getElementById('members_since').innerHTML = daysSince; 

Ich bin sehr ein Javascript und ich habe keine Ahnung, wie Rechnung Schaltjahr zu nehmen und 37 am Ende eines jeden Monats. Jede Anleitung würde sehr geschätzt werden.

+0

Willkommen bei SO. Bitte besuchen Sie die [Hilfe], um zu sehen, was und wie zu fragen. TIPP: Zeigen Sie ein Beispiel (Schnipsel), das fast das tut, was Sie wollen und dann genau sagen, was erwartet wird. Kannst du zum Beispiel erklären, wonach du suchst, anstatt zu beschreiben, wie du denkst, dass es gelöst werden kann? Es gibt nichts in Ihrer Frage, die eine Notwendigkeit für die Berücksichtigung von Schaltjahren zeigt – mplungjan

Antwort

0

Es gibt viele Duplikate, die Datumsunterschiede berechnen, aber vielleicht möchten Sie so etwas?

var aDay = 24*60*60*1000, 
     today = new Date(), 
     jan_first = new Date(today.getFullYear(),0,1,12,0,0,0).getTime(); 
today.setHours(12,0,0,0); 
var endOfThisMonth = new Date(today.getFullYear(), 
     today.getMonth()+1,0,12,0,0), 
     diff=today.getTime()-jan_first, 
     total=Math.round(diff/aDay)*3; 
total+=today.getMonth()*37; 
if (today.getTime()==endOfThisMonth) total+=37; 
+0

Die Zahl stellt eine Menge von Mitgliedern dar, die bei einer Firma geholfen werden, sie gaben eine Formel von im Grunde +3 täglich (beginnend von Null am Anfang des Jahres) und sie addieren +37 am Ende des Monats. Bis jetzt habe ich das Gefühl, dass ich den +3-Teil bekommen habe, aber es berücksichtigt nicht, dass 2016 ein Schaltjahr ist. –

+0

Schauen Sie sich das nicht getestete Update an. Ihr Algorithmus ist ein Schätzwert, so dass die Handhabung des Schaltjahres eine sehr präzise Berechnung ermöglicht;) aber mein Code kann damit umgehen, da absolute Tage verwendet werden. – mplungjan

+0

Danke !!! Wird dieser Algorithmus zu Beginn des Jahres zufällig neu gestartet? –

Verwandte Themen