это должно быть просто, если elif (условия) в jython, но похоже, что Jython в FDMEE продолжает проверять неверный результат в условии.
def Timetest(strField, strRecord):
import java.util.Date as date
import java.text.SimpleDateFormat as Sdf
import java.lang.Exception as Ex
import java.sql as sql
import java.util.concurrent.TimeUnit as TimeUnit
PerKey = fdmContext["PERIODKEY"]
strDate = strRecord.split(",")[11]
#get maturity date
strMM = strDate.split("/")[0]
strDD = strDate.split("/")[1]
strYYYY = strDate.split("/")[2]
strDate = ("%s.%s.%s" % (strMM,strDD, strYYYY))
#converting Maturity date
sdf = Sdf("MM.dd.yyyy")
strMRD = sdf.parse(strDate)
#calc date diff
diff = (strMRD.getTime()- PerKey.getTime())/86400000
diff = ("%d" % diff)
if diff>="0":
if diff <= "30":
return "Mat_Up1m " + diff
elif diff <= "90":
return "Mat_1to3m " + diff #the result goes here all the time although my diff is 367
elif diff <= "360":
return "Mat_3to12m " + diff
elif diff <= "1800":
return "Mat_1to5y " + diff #the result supposed to go here
else:
return "Mat_Over5y "+ diff
Не уверен, почему он продолжает идти ко второмуэлиф вместо четвертого элифа.
Мой результат вычисления diff = 367
есть идеи, как сделать так, чтобы мой код читал правильное условие if elif?