gpt4 book ai didi

ios - 根据所选日期快速从手动日期选择器获取时间

转载 作者:可可西里 更新时间:2023-11-01 01:36:55 24 4
gpt4 key购买 nike

enter image description here我有两个字段,称为日期和时间。我正在使用此代码创建日期选择器

var selectedDate : NSDate!
func date_picker2(textField: UITextField)
{
var toolbar1:UIToolbar = UIToolbar(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.size.width, 40))
var done:UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Plain, target:self, action: Selector("cancelBtnClicked1:"))
done.tag = 203
var cancel:UIBarButtonItem = UIBarButtonItem(title: "Cancel", style: UIBarButtonItemStyle.Plain, target: self, action: Selector("cancelBtnClicked1:"))

cancel.tag = 202


var space:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FlexibleSpace, target: nil, action: nil)
toolbar1.items = [cancel,space,done]
toolbar1.barTintColor = UIColor(red: 23.0/255.0, green: 174.0/255.0, blue: 202.0/255.0, alpha: 1)
toolbar1.tintColor = UIColor.whiteColor()
txt_Dob.inputAccessoryView = toolbar1
txt_birthTime.inputAccessoryView = toolbar1

datePicker = UIDatePicker(frame: CGRectMake(toolbar1.frame.size.width - 65, 0, 0, 300))
let currentCalendar = NSCalendar.currentCalendar()

let dateComponents = NSDateComponents()
dateComponents.year = -80
datePicker.maximumDate = NSDate()


if txt_Dob.isFirstResponder()
{
datePicker.datePickerMode = UIDatePickerMode.Date
}
if txt_birthTime.isFirstResponder()
{
datePicker.datePickerMode = UIDatePickerMode.Time
println("selectedDate: \(selectedDate)")
if selectedDate == NSDate(){
datePicker.maximumDate = NSDate(timeIntervalSinceNow:0)
}
}

datePicker.timeZone = NSTimeZone.localTimeZone()
datePicker.locale = NSLocale.currentLocale()
datePicker.calendar = NSCalendar.currentCalendar()
datePicker.backgroundColor = UIColor.whiteColor()
txt_Dob.inputView = datePicker
txt_birthTime.inputView = datePicker
}

func cancelBtnClicked1(sender:UIButton!)
{
var btnTag = sender.tag

if btnTag == 203
{
if( txt_Dob.isFirstResponder())
{
if sender.tag == 203
{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
txt_Dob.text = dateFormatter.stringFromDate(datePicker.date)

}
}
else if( txt_birthTime.isFirstResponder())
{
if sender.tag == 203
{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "HH:mm"
txt_birthTime.text = dateFormatter.stringFromDate(datePicker.date)
}
}
txt_Dob.resignFirstResponder()
txt_birthTime.resignFirstResponder()
}
else
{
self.view.endEditing(true)
}
}

现在我想要如果我选择今天的日期选择器应该允许我花时间到现在,但是如果我选择前天的日期,它应该允许我花任何时间。

我不知道该怎么做。谁能建议我怎么做?

谢谢..

最佳答案

只需更新时间选择器的最大日期并匹配当前日期,例如:

dateComponents.hour = 23
dateComponents.minute = 59
dateComponents.second = 59

datePicker.maximumDate = currentCalendar?.dateByAddingComponents(components, toDate: NSDate(), options: NSCalendarOptions())

if txt_Dob.isFirstResponder()
{
datePicker.datePickerMode = UIDatePickerMode.Date
}
if txt_birthTime.isFirstResponder()
{
datePicker.datePickerMode = UIDatePickerMode.Time
if selectedDate == NSDate(){
datePicker.maximumDate = NSDate(timeIntervalSinceNow:0)
}
}

当用户从 txt_Dob 日期选择器中选择日期时,您必须更新 selectedDate。

if( txt_Dob.isFirstResponder())
{
if sender.tag == 203
{
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
txt_Dob.text = dateFormatter.stringFromDate(datePicker.date)
selectedDate = datePicker.date
txt_birthTime.text = ""
}
}

关于ios - 根据所选日期快速从手动日期选择器获取时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36146699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com