【发布时间】:2013-05-07 01:38:29
【问题描述】:
给定一个时间段,例如 3 天或 5 周(只有一个字段类型的时间段),我想将给定的 DateTime 舍入到该时间段的最接近单位(即,忽略 '5 天内的 5 ')。例子:
示例 1:
- 周期: 3 天。
- 日期时间: UTC 星期三凌晨 4:26 (2013-05-15T04:26:00Z)
- 四舍五入的日期时间: UTC 周三午夜 (2013-05-15T00:00:00Z)
示例 2:
- 周期: 5 周。
- 日期时间: UTC 星期三凌晨 4:26 (2013-05-15T04:26:00Z)
- 四舍五入的日期时间: UTC 星期一午夜 (2013-05-13T00:00:00Z)
我最初的想法是使用Period 的DurationFieldType getFieldTypes() 方法,并将DateTime 中的每个匹配字段(最大字段下方)设置为零。但是,我不知道如何从DateTime 获取DateTimeFieldTypes,以及如何将它们与DurationFieldType 进行比较。
我宁愿不做一个巨大的if else 方法。
【问题讨论】: