如何表示应该忽略时间的Date对象?

时间:2018-03-16 00:52:35

标签: swift date datetime time

我们正在定义一个微服务,该微服务以组合的日期和时间ISO 8601格式返回时间戳,该格式返回给我们用Swift编写的iOS客户端。在我们的客户端中,它将转换为Date对象。

问题是我们的微服务的馈送源之一将它们的日期/时间表示为两个单独的字段,我们必须将它们组合成完整的ISO格式。但是,时间部分可能为空,因此我们必须在“T00:00:00Z'”中替换。

问题是我们需要一种方法来向Swift方面传达时间戳没有原始时间值,因此应该相对于GST读取,而不是像通常那样读取本地时区,并且它应该只在UI中显示为仅限日期。

那就是说,将Date对象标记为仅日期的正确方法是什么?我们当前的解决方案是模型上的配对xIsDateOnly布尔值,但这看起来似乎很冗长。 Date对象是否有任何此类机制/指示?我猜不是因为没有时间的日期实际上没有意义,因为日期基于特定时区的上午12点,通常暗示是用户所在的日期。

1 个答案:

答案 0 :(得分:0)

你是对的,基金会(NS)Date对象实际上是一个时间戳,代表一个特定的时刻。虽然它不会让您只指定特定日期,但无论使用何种日历,它都具有相同的优势。

要表示“2014年6月3日”之类的内容,您可以使用codepen/NYRGyv对象。这使您可以指定月,日,年等,而不是相对于特定日历的时间。