我想要显示UIDatePickerView仅180天的开始日期日历,当用户在180天内选择任何开始日期时,他将点击结束日期按钮,以便日期选择器只显示89从开始日期和选定的开始日期开始的日期不应该是结束日期日期选择器startDate和endDate Swift 3
2
A
回答
0
您可以使用addingTimeInterval
方法Date
来做到这一点。
datePicker.minimumDate = startDate?.addingTimeInterval(60 * 60 * 24 * 90) // 90 days interval offset
现在为endDate
,总的DatePicker显示装置90日内提出日期,然后启动日期。
如果你想在startDate
的当前日期显示180天,那么你可以像下面一样管理startDate。
datePicker.minimumDate = Date() //Today's date
datePicker.maximumDate = Date().addingTimeInterval(60 * 60 * 24 * 180) //180 days forward time from today.
它只会在datePicker中显示180天的持续时间。
0
如果你想显示从开始日期只有90天,比:
@IBOutlet var datePicker: UIDatePicker!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
datePicker.datePickerMode = .date //To show only Date format for date picker
//Get current Date
var currentDate = Date()
let addDays: TimeInterval = (60 * 60 * 24 * 180) //Add 180 for initial Days
currentDate = currentDate.addingTimeInterval(addDays)
datePicker.minimumDate = Date() //Start with current date
datePicker.maximumDate = currentDate //End with current date + 180 days.
}
//Action for DatePicker
@IBAction func displayDay(_ sender: Any) {
let choosenDate = datePicker.date
//If you want to set Date format for selected picker date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MMM dd, yyyy"
let selectedDate = dateFormatter.string(from: choosenDate)
print(selectedDate)
//You can use different datePicker object to set below endDate as +90 days because if you you same date picker it will always add selected date +90 days to date picker.
let addDays: TimeInterval = (60 * 60 * 24 * 89) //Add 89 Days
//Set Start Date as choosen Date
datePicker.minimumDate = choosenDate
//Set Max Date as choosen Date + 89 Days
datePicker.maximumDate = Date(timeInterval: addDays, since: choosenDate)
}
1
// Add A Button And Give them Connection
@IBOutlet weak var DateSelect: UIButton!
// Add "UIDatePicker" to your project and Give them connection
@IBOutlet weak var fromedatepicker: UIDatePicker!
// . and Make an Action Button to "UIDatePicker"
@IBAction func fromedatepicker(_ sender: Any) {
let calendar: NSCalendar = NSCalendar(calendarIdentifier: NSCalendar.Identifier.gregorian)!
let currentDate = NSDate()
let dateComponents = NSDateComponents()
let minDate = calendar.date(byAdding: dateComponents as DateComponents, to: currentDate as Date, options: NSCalendar.Options(rawValue: 0))
dateComponents.month = 3 //or you can change month = day(90)
let maxDate = calendar.date(byAdding: dateComponents as DateComponents, to: currentDate as Date, options: NSCalendar.Options(rawValue: 0))
self.fromedatepicker.maximumDate = maxDate
self.fromedatepicker.minimumDate = minDate
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let strDate = dateFormatter.string(from: fromedatepicker.date)
print(strDate)
DateSelect.DateSelect.titleLabel?.text = strDate
}
+0
非常感谢,我真的很感激,但开始日期呢?我必须只显示180天?并且,当用户将从开始日期中选择任何日期,以便日期不应只在结束日期89天enddate日历应显示... – King
相关问题
- 1. 选择项的startDate和结束日期
- 2. 如何使用XPath这样的XML选择EndDate和StartDate值?
- 3. 日期范围选择器在两个日历上显示endDate
- 4. mongodb日期范围查询获取具有startDate&endDate的记录
- 5. 寻找MemberShip.GetAllUsers(startDate,endDate)功能
- 6. datetimepicker startDate不能大于endDate
- 7. 日期选择器3天后选择日期
- 8. 获取所有NSDates BETWEEN startDate和endDate
- 9. vs> = startdate和<= enddate之间的SQL
- 10. 在jQuery日期选择器中选择日期和高亮日期选择器
- 11. 奇怪的日期选择器行为Xcode,swift 3
- 12. 使用Swift将属性添加到日期选择器3
- 13. jQuery和日期选择器
- 14. 在两个日期之间搜索周/明月记录计数(数字)和周/月的StartDate + EndDate(日期时间)
- 15. 如果两个日期都相同,则startDate和endDate的日期范围不起作用
- 16. 如何筛选以UTC格式存储的dynamodb中的startdate和enddate之间的日期
- 17. 当StartDate是一个固定的日期时,如何为从StartDate到EndDate的列赋值2013年1月
- 18. Bootstrap Datepicker:确保EndDate> StartDate以及拥有最大开始日期
- 19. 确保endDate等于或晚于startDate
- 20. 在angular-daterangepicker中的startDate选择的更新日期
- 21. SQL选择where startdate是今天的日期
- 22. jquery选项卡和日期选择器
- 23. Mysql选择和日期> =当前日期 - 3周
- 24. jQuery的日期选择器选择
- 25. Swift 3 FSCalendar默认选择所有日期
- 26. 道场日期选择器jQuery的Vs的日期选择器
- 27. 使用Selenium在日期选择器中自动选择日期
- 28. 根据日期选择器中选择的日期禁用日期选择器的以前的日期
- 29. jQuery日期选择器允许你有一个日期和时间选择器
- 30. 通过StartDate和EndDate之间的最短时间获取产品?
谢谢你..让我看看它的铁锅:)但由于很多提前 – King
怎么样的开始日期??我必须只显示180天? – King
@King,检查已更新的答案,其中180天的startDate持续时间已添加。 – Jaydeep