如何从显示时间的文本字段中减去分钟

哈维尔

我一直在进行有关如何执行此操作的运气方面的研究,但我仍然不太了解NSdate和执行操作的方式。

我有一个应用程序,其中按下timeText(UITextField)时会弹出一个UIDatPicker,用户可以使用滚轮选择所需的时间。然后,一旦按下doneBTN(来自toolBar),它将在该文本字段上填充所需的时间。

我要寻找的是分别在Tminus3(UILabel),Tminus10(UILabel),Tminus20(UILabel)上显示,timeText(从用户中选择)的结果减去3分钟(Tminus3),减去10分钟(Tminus10),每个标签上分别为负20分钟(Tminus20)。

即,用户按下timeText并选择时间,例如11:30。当我按updateBTN时,我想获取Tminus3.text = 11:27,Tminus10.text = 11:20,Tminus20.text = 11:10的值。

这是初始代码。

提前致谢

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var timeText: UITextField!
    let timePicker = UIDatePicker()
    
    @IBOutlet weak var Tminus3: UILabel!
    @IBOutlet weak var Tminus10: UILabel!
    @IBOutlet weak var Tminus20: UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        createTimeP()
    }
    func creteToolB() -> UIToolbar {
        let toolbar = UIToolbar()
        toolbar.sizeToFit()
        
        let doneBTN = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed))
        toolbar.setItems([doneBTN], animated: true)
     
        return toolbar
    }
    func createTimeP() {
        timePicker.preferredDatePickerStyle = .wheels
        timePicker.datePickerMode = .time
        timePicker.locale = NSLocale(localeIdentifier: "UTC") as Locale
        timePicker.minuteInterval = 5
        timeText.inputView = timePicker
        timeText.inputAccessoryView = creteToolB()
        
    }
    
    @objc func donePressed() {
        let timeFormatter = DateFormatter()
        timeFormatter.dateStyle = .none
        timeFormatter.timeStyle = .short
        timeFormatter.dateFormat = "HH:mm"
        self.timeText.text = timeFormatter.string(from: timePicker.date)
        self.view.endEditing(true)
        
    }
    
    @IBAction func **updateBTN**(_ sender: Any) {
    
        
    // from the timeText.text = "HH:mm" get the value —> minus3.text(label) minutes, minus10.text()label minutes, minus20.text(label) minutes.
      
        
    }
    
}
费萨尔·艾哈迈德(Faysal Ahmed)

尝试这个:

import UIKit

class tViewController: UIViewController {

    @IBOutlet weak var timeText: UITextField!
    let timePicker = UIDatePicker()
    
    @IBOutlet weak var Tminus3: UILabel!
    @IBOutlet weak var Tminus10: UILabel!
    @IBOutlet weak var Tminus20: UILabel!

    var selectedDate: Date? = nil
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        createTimeP()
    }
    func creteToolB() -> UIToolbar {
        let toolbar = UIToolbar()
        toolbar.sizeToFit()
        
        let doneBTN = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(donePressed))
        toolbar.setItems([doneBTN], animated: true)
     
        return toolbar
    }
    func createTimeP() {
        timePicker.preferredDatePickerStyle = .wheels
        timePicker.datePickerMode = .time
        timePicker.locale = NSLocale(localeIdentifier: "UTC") as Locale
        timePicker.minuteInterval = 5
        timeText.inputView = timePicker
        timeText.inputAccessoryView = creteToolB()
        
    }
    
    @objc func donePressed() {
        let timeFormatter = DateFormatter()
        timeFormatter.dateStyle = .none
        timeFormatter.timeStyle = .short
        timeFormatter.dateFormat = "HH:mm"
        self.timeText.text = timeFormatter.string(from: timePicker.date)
        self.selectedDate = timePicker.date
        self.view.endEditing(true)
        
    }
    
    func getTime(date: Date) -> String {
        let timeFormatter = DateFormatter()
        timeFormatter.dateStyle = .none
        timeFormatter.timeStyle = .short
        timeFormatter.dateFormat = "HH:mm"
        return timeFormatter.string(from: date)
    }
    
    @IBAction func updateBTN(_ sender: Any) {
    
        if let selectedDate = self.selectedDate {
            let tminus3Date = Calendar.current.date(byAdding: .minute, value: -3, to: selectedDate)!
            let tminus10Date = Calendar.current.date(byAdding: .minute, value: -10, to: selectedDate)!
            let tminus20Date = Calendar.current.date(byAdding: .minute, value: -20, to: selectedDate)!
            
            self.Tminus3.text = getTime(date: tminus3Date)
            self.Tminus10.text = getTime(date: tminus10Date)
            self.Tminus20.text = getTime(date: tminus20Date)
        }
        
    }
    
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从SQL中的日期时间字段减去分钟

来自分类Dev

如何从SQL中的日期时间字段减去分钟

来自分类Dev

Rails在文本字段中显示日期时间

来自分类Dev

在不同的文本字段中显示当前时间

来自分类Dev

如何显示日期时间选择器并在文本字段中设置所选值

来自分类Dev

如何在文本字段中显示int值?

来自分类Dev

如何在 sencha 的文本字段中显示前导零?

来自分类Dev

如何在文本字段中显示基本验证消息

来自分类Dev

时间不会使用datetimepicker在文本字段中显示时间

来自分类Dev

时间不会使用datetimepicker在文本字段中显示时间

来自分类Dev

字体在文本字段中的显示很小

来自分类Dev

如何从当前时间减去分钟

来自分类Dev

如何从当前时间减去分钟

来自分类Dev

减去两个文本字段并在javascript或jquery中的第三个显示结果

来自分类Dev

如何从PostgreSQL中的时间戳中减去/添加分钟

来自分类Dev

如何从PostgreSQL中的时间戳中减去/添加分钟

来自分类Dev

ReactJS 如何设置输入文本字段以显示当前日期和时间?

来自分类Dev

如何获取在TableView单元格中显示的数据并将其显示在文本字段中?

来自分类Dev

在javascript的输入数字类型字段中输入值时,如何显示输入文本字段?

来自分类Dev

如何从文本字段中获取数值?

来自分类Dev

如何在文本或文本字段的左侧显示工具提示

来自分类Dev

使用swift在UITableView中显示文本字段文本

来自分类Dev

在文本字段中显示文本有奇怪的行为

来自分类Dev

在符号行中显示文本和文本字段

来自分类Dev

如何在编辑表单的文本字段中填写时间?

来自分类Dev

文本字段中的JavaScript时间且未更新

来自分类Dev

文本字段中的JavaScript时间且未更新

来自分类Dev

修改显示的文本字段

来自分类Dev

如何在文本字段中显示格式为“ dd / mm / YYYY”的日期?

Related 相关文章

  1. 1

    如何从SQL中的日期时间字段减去分钟

  2. 2

    如何从SQL中的日期时间字段减去分钟

  3. 3

    Rails在文本字段中显示日期时间

  4. 4

    在不同的文本字段中显示当前时间

  5. 5

    如何显示日期时间选择器并在文本字段中设置所选值

  6. 6

    如何在文本字段中显示int值?

  7. 7

    如何在 sencha 的文本字段中显示前导零?

  8. 8

    如何在文本字段中显示基本验证消息

  9. 9

    时间不会使用datetimepicker在文本字段中显示时间

  10. 10

    时间不会使用datetimepicker在文本字段中显示时间

  11. 11

    字体在文本字段中的显示很小

  12. 12

    如何从当前时间减去分钟

  13. 13

    如何从当前时间减去分钟

  14. 14

    减去两个文本字段并在javascript或jquery中的第三个显示结果

  15. 15

    如何从PostgreSQL中的时间戳中减去/添加分钟

  16. 16

    如何从PostgreSQL中的时间戳中减去/添加分钟

  17. 17

    ReactJS 如何设置输入文本字段以显示当前日期和时间?

  18. 18

    如何获取在TableView单元格中显示的数据并将其显示在文本字段中?

  19. 19

    在javascript的输入数字类型字段中输入值时,如何显示输入文本字段?

  20. 20

    如何从文本字段中获取数值?

  21. 21

    如何在文本或文本字段的左侧显示工具提示

  22. 22

    使用swift在UITableView中显示文本字段文本

  23. 23

    在文本字段中显示文本有奇怪的行为

  24. 24

    在符号行中显示文本和文本字段

  25. 25

    如何在编辑表单的文本字段中填写时间?

  26. 26

    文本字段中的JavaScript时间且未更新

  27. 27

    文本字段中的JavaScript时间且未更新

  28. 28

    修改显示的文本字段

  29. 29

    如何在文本字段中显示格式为“ dd / mm / YYYY”的日期?

热门标签

归档