Excel / Google-Sheets / LibreOffice函数DAYS360()
返回基于360天的年份的两个日期之间的天数。 0(默认)用于基于美国的方法,下面是一些示例
A = 30 Apr 2016, B = 29 Feb 2016, DAYS360(A, B) = -61
A = 29 Feb 2016, B = 30 Apr 2016, DAYS360(A, B) = 60
根据规则here
,这似乎没问题但是Excel / Google-Sheets / LibreOffice函数YEARFRAC()
使用指定的天数计数约定返回两个日期之间的年数,包括小数年。即使在这里0(默认)使用US方法,我假定的(US(NASD)30/360)也将等于number of days calculated by DAYS360 * the number of seconds in a day/number of seconds in 360 days
的值。表格中的值如下
A = 30 Apr 2016, B = 29 Feb 2016, YEARFRAC(A, B) = 0.1666666667
A = 29 Feb 2016, B = 30 Apr 2016, YEARFRAC(A, B) = 0.1666666667
由于可以看到DAYS360
的绝对值相差一个,因此YEARFRAC
的值是相同的,并且根据上面的假设假定60天,因此美国的也是如此here中提到的约定与DAYS360
中提到的约定相同。
如果不是,那么这是什么确切规则,或者还有其他问题吗?
注意:在Google表格和Libre Office上测试了这些值。
答案 0 :(得分:0)
AnalysisException: "cannot resolve 'unix_timestamp(t.`date`, 'yyyyMMdd')' due to data type mismatch: argument 1 requires (string or date or timestamp) type, however, 't.`date`' is of int type.
参数3:0 表示美国方法-在美国方法下,如果start_date是一个月的最后一天,则将start_date的当月日期更改为 30为计算目的。此外,如果end_date是 一个月的最后一天和start_date当月的某天较早 比30日早,end_date更改为该月的第一天 在end_date之后,否则end_date的月份中的日期被更改 到30。
1 或其他任何值表示欧洲方法-在欧洲方法下,任何开始日期或结束日期为第31天 一个月的月日更改为30。
DAYS360
参数3:0 表示美国(NASD)30/360-假设每月30天和360天 根据美国证券交易商协会标准, 并对输入的日期进行特定的调整, 月底。
1 表示实际/实际-这是根据实际 指定日期之间的天数与实际的 在此期间的几天。用于美国国债和票据, 而且与非金融用途最相关。
2 表示实际/ 360-这是根据实际的 指定日期之间的天数,但假定是360天。
3 表示实际/ 365-这是根据实际数量计算的 指定日期之间的天数,但假定是365天。
4 表示欧洲30/360-与0相似,此计算基于 每月30天和每年360天,但会调整月末日期 根据欧洲金融公约。