如何在Swift 3中将Time Picker转换为24小时格式?

时间:2017-02-10 02:20:29

标签: ios time datepicker swift3

我在下面有这些时间选择器代码。

我的输出“1:00 PM”例如。

import UIKit

class ViewController: UIViewController {
    @IBOutlet var timeTxt: UITextField!
    let time_picker  = UIDatePicker()
    var time: String!

    override func viewDidLoad(){
        super.viewDidLoad()
        displayTime()
    }

    func displayTime(){
        let toolbar_time = UIToolbar()
        toolbar_time.sizeToFit()

        let doneButton_time = UIBarButtonItem(barButtonSystemItem: .done, target: nil, action: #selector(selectTime))
        toolbar_time.setItems([doneButton_time], animated: false)

        timeTxt.inputAccessoryView = toolbar_time
        timeTxt.inputView = time_picker
    }

    func selectTime() {

        let timeFormatter = DateFormatter()
        timeFormatter.dateStyle = .none
        timeFormatter.dateFormat = "HH:mm a"
        timeFormatter.timeStyle = .short

        timeTxt.text = timeFormatter.string(from: time_picker.date)
        self.view.endEditing(true)
    }
}

但我的目标是将时间值“1:00 PM”以(24小时格式)“1300”存储为数据库类型

我想摆脱“:” 13:00到“1300

有人可以帮忙吗?

感谢。

2 个答案:

答案 0 :(得分:0)

更改时间格式您转到设置 - >一般 - >日期&时间和启用24小时时间切换它将在您的日期选择器中显示24小时时间格式

func selectTime() {

    let timeFormatter = DateFormatter()
    timeFormatter.dateFormat = "hmm" // set this date format string
    timeTxt.text = timeFormatter.string(from: time_picker.date)
    self.view.endEditing(true)
}

答案 1 :(得分:0)

timeFormatter.locale = Locale(identifier: "en_GB")