我正在尝试将minimumDate设置为日期选择器,但显示时日期选择器会增加+1小时。
我怀疑Datepicker的时区不同于 firstPossibleOrderTime 。
我从api:20181127151122中获得了这个
然后使用SwiftyDate窗格初始化日期。
DateInRegion(firstPossiblePickup, format: "yyyyMMddHHmmss",
region: .currentIn()).
let datePickerFrame = UIDatePicker(frame: .zero)
datePickerFrame.locale = Locale.init(identifier: "nb")
print(self.firstPossibleOrderTime.date)
print(self.firstPossibleOrderTime.date.add(28.days))
datePickerFrame.minimumDate = self.firstPossibleOrderTime.date
datePickerFrame.maximumDate = self.firstPossibleOrderTime.date.add(28.days)
如何防止Datepicker将时间增加1小时?
答案 0 :(得分:0)
我想您可能使用了错误的日期格式化程序来转换从服务器接收的日期。
从服务器收到的时间是字符串吗?
如果是字符串,则设置哪个时区?
您必须在解析之前将其考虑在内,通常服务器会返回一个en_US_POSIX
日期字符串,您可以使用此日期格式程序对其进行解析。
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss'Z'"
dateFormatter.isLenient = false
如果不是这种格式,则可能必须考虑时区或夏令时。