2016-12-29 7 views
-1

Was wird das Äquivalent dieser Excel-Formel in Javascript sein?Excel-Formel zu Javascript

=MAX(MIN(EndDate1,EndDate2)-MAX(StartDate1,StartDate2)+1,0) 

ist das überhaupt nah?

Math.Max(Math.Min(EndDate2,EndDate1)-Math.Max(StartDate2,StartDate1)+1,0) 

Was ich versucht habe ..

var StartDate1 = new Date(2016,12,30); 
var EndDate1 = new Date(2017,10,30); 
var QueryStartDate = new Date (2017, 01,30) 
var QueryEndDate = new Date (2017, 03,30) 

Math.Max(Math.Min(ProjectEndDate,QueryEndDate)-Math.Max(ProjectStartDate,QueryStartDate)+1,0) 
+0

Nun, der zweite wird nicht kompilieren, da Ihre 'StartDateN' und' EndDateN' Variablen nicht definiert sind. Können Sie mehr Code hinzufügen? – CollinD

+2

Testen Sie es mit den gleichen Eingängen und sehen Sie, ob es die gleichen Ausgänge erzeugt. Du brauchst uns dafür nicht. –

Antwort

0
var x = Math.max(Math.min(EndDate2,EndDate1) - Math.max(StartDate2,StartDate1)+1, 0) 

Das setzt voraus, EndDate * und StartDateN sind Date-Objekte.

+0

Können Sie Math.max/min für Date-Objekte verwenden? – Athapali

+0

Date-Objekt ist ein Integer-Wert, der die Anzahl der Millisekunden seit dem 1. Januar 1970 00:00:00 UTC darstellt. Also ja –