DateTimeCalculator
执行对日期,时间,日期时间,以及时间间隔值的运算。在高级模式的表达,涉及时间和间隔复合表达式可以被构造。
该DateTimeCalculator执行五个算术时间类型:
- 日期
- 时间
- 与UTC时间偏移
- 约会时间
- 日期时间与UTC偏移
输入时间字符串必须是FME格式。
DateTimeCalculator还支持区间运算,其中该间隔可以通过以下两种方式之一来指定的:
- 通过部分的规定。例如,用户可以为“年”的值指定为5。
- 由间隔字符串中指定ISO 8601持续时间格式。
无效的时间和间隔输入将使消耗他们返回空日期时间函数,并导致特征被拒绝。
限制:
- 支持时间范围:1000年1月1日00:00:00.000000000到9999-12-31 23:59:59.999999999。
- 如果输入时间值包含小数秒,只小数分隔“”被支撑。
- 当减去另一个时间值,这两个时间值必须具有兼容的时间类型,或该功能将被拒绝。请参阅类型兼容性矩阵。
- 如果通过部分指定的间隔时,则部分值必须全部是是非负的,或所有的非阳性,或该特征将被拒绝。
输入端口
输入
接受并处理功能逐个。时间值和时间间隔值可以来自属性。
输出端口
产量
输出有效的结果。
参数
模式
指定要执行的操作:
- 加减间隔:添加到一个间隔或从时间的值中减去它。间隔由部分指定。也就是说,年,月,日,小时,分钟和秒的小数部分。几秒钟被允许是分数。其他部分是整数。该部分必须是所有非负或所有非正的,否则该功能将被拒绝。结果具有相同的时间类型作为输入的时间类型。
- 增加或减少间隔(ISO持续时间):添加到一个间隔或从时间的值中减去它。的时间间隔中指定ISO 8601时长格式。结果具有相同的时间类型作为输入的时间类型。
- 计算日期时间之间的间隔:结束时间减去开始时间产生的间隔。用户可以选择输出在间隔ISO 8601时长格式,或分数年,月,周,日,小时,分钟或秒。
- 高级表达式:日期时间函数可以用于构造复合表述如@DateTimeAdd(TIME1,@DateTimeDiff(@Value(TIME2) - @Value(时间3))。
加或减区间参数
指定一个起始时间值。选择是否加上或减去的间隔。然后,感兴趣的间隔部分指定值。支持的间隔部分是年,月,日,小时,分钟和秒。秒参数可以是分数。另一部分值必须是整数。
注意:只有整场浮点值四舍五入到整数。
加或减间隔(ISO持续时间)参数
指定一个起始时间值。选择是否加上或减去的间隔。然后,指定与所述间隔ISO 8601时长格式。
计算日期时间参数之间的时间间隔
指定开始和结束时间值。然后,选择输出间隔类型。支持的间隔的类型有:
- ISO 8601时长格式。
- 分数年,作为分数个月除以12数计算。
- 分数个月:开始和结束日期时间之间有许多的整月。该不是整整一个月其余部分由若干天,小时,分钟和秒。其余的开始在被称为“剩女月”一个月。其余首先转化成分数天。然后,小数天的天在一个月余数除以。其余月份是月正好前(和含有的一部分或全部的)的剩余部分,并且保证余数是从不超过一个月时,当作为分数月表达。最后,剩余的分数一个月被添加到全月数,给我们得到的分数个月。
- 例如,从2016年1月1日(开始)到2017年3月31日(结束),有1年2个月加上一个余数。2016年1月- 1月+ 1年+ 2个月是2017年3月- 1月,也就是2017年3月。那个月有31天。剩下的30天,除以31得到分数月。因此,两个日期之间的总月数为1年(12个月)+ 2个月+ 30/31个月= 14.967742。
- 周、天、小时、分钟、秒:对于所有这些,我们首先以小数秒计算开始和结束日期时间之间的持续时间。然后转换到指定的单元。一分钟有60秒。一小时60分钟,一天24小时,一周7天。
注意:在DateTimeCalculator重新使用小数年,月,周,日,小时或分钟@DateTimeAdd ()请圆或第一截断小数值为整数。
提示:分数年,月,周,日,小时,分钟或秒为间隔输出类型可以是用于比较和报告是有用的。
高级表达式
构造涉及日期时间,例如复合FME表达式:
- @DateTimeAdd (@ value (newStartDate)、@DateTimeDiff (@ value (projEnd), @ value (projStart))
- @DateTimeCast (@DateTimeNow()、时间)
- @DateTimeFormat (@DateTimeParse (@ value (sourceString), @ value (inputFormat)), @ value (outputFormat))
请参见FME日期/时间函数。
参考
也可以看看:
编辑变压器参数
使用一组菜单选项,变压器参数可以通过引用在工作区中的其它元件来分配。更先进的功能,如高级编辑,算术编辑,也是一些变压器可用。要进入这些选项的菜单上,单击适用的参数旁边。欲了解更多信息,请参阅变压器参数菜单选项。
变压器分类
搜索FME知识中心
搜索样品和有关该变压器上的信息FME知识中心。