重复操作:开始时间和后续频率格式化约定

时间:2018-06-25 09:24:37

标签: string-formatting date-formatting iso recurring-events

我正在构建一项服务,用户可以注册在任何给定日期启动并以任何给定频率重复发生的付款计划。为了概括起见,我认为这是从开始时开始的重复动作。

由于日期和频率是由第三方确定的,因此我想为字符串定义一种格式,以描述存储在数据库中的开始时间和频率,从而确保与各方和解释功能的最大兼容性。表达简单明了。

由于粒度只需要日常使用,我在考虑以下格式:

YYYY / MM / DD%F

,具体示例为:

2018/01/01%1M,表示在2018年1月1日进行初次付款,每1个月定期付款。

是否有这样做的吸引力,ISO标准,最佳实践等? 您预见到我提出的解决方案有什么需要注意的地方吗?例如,格式是否应包含有关时区的信息?还是应该包括一天中的时间以确保兼容性?

1 个答案:

答案 0 :(得分:2)

是的,ISO 8601为日期和期间定义了标准格式。不过,至少我不认为这不是将两者结合到付款计划中。

ISO日期类似于2018-09-3020180930。到目前为止,带连字符的形式是最常用的形式,因此出于可读性和兼容性的考虑,我建议使用它。

ISO期间看起来更不寻常。 P1M表示一个月的期限。您可以拥有P1Y(一年),P3M(三个月),P2W(两个星期)以及您梦dream以求的一切。链接的Wikipedia文章提到“例如,“ P3Y6M4DT12H30M5S”表示持续时间为“三年,六个月,四天,十二小时,三十分钟和五秒”。”

ISO 8601还具有日期时间格式,带有日期时间的日期,带有和不带有UTC的日期。从您提供的信息中我无法确定您是否需要任何这些。如果您有需要,可以在那里找到。

链接: ISO 8601在Wikipedia上。