如何以日期格式要求用户提供准确的日期

时间:2019-01-02 16:35:09

标签: swift date uipickerview

所以我有一个程序,需要向用户询问日期和时间。但是该日期必须是将来的日期或很远的过去。而且我尝试了UIDatePicker,但是发现日期选择器并不是引发此类问题的最佳方法,因为它需要大量滚动,并且它不会加载超过特定日期因为某些原因。我在想一个UIPickerView,要求输入年,月,日和时间。但是我不知道该怎么做,因为可以说该月是9月,只有30天,所以我该如何阻止用户选择31。所以如果有人可以帮助我,那就太好了。如果您有任何疑问或需要代码,请询问。哦,顺便说一句,我想要一个可以与其他日期进行比较的日期格式。

1 个答案:

答案 0 :(得分:1)

鉴于stopwordsyear,您可以像这样计算可能要提供给选择器的month值的数组:

day

  

我想要一个可以与其他日期进行比较的日期格式。

一旦您拥有let calendar = Calendar.current let components = DateComponents(year: year, month: month, day: 1) guard let date = calendar.date(from: components), let range = calendar.range(of: .day, in: .month, for: date) else { return } let days = Array(range) yearmonthday(转换为24小时值,从0到23),就可以构建{{ 1}}对象如下:

hour

Date现在可以与任何其他let calendar = Calendar.current let components = DateComponents(year: year, month: month, day: day, hour: hour, minute: minute) guard let date = calendar.date(from: components) else { return } 对象进行比较。