我试图以短样式的形式显示UIDatePicker,可以在文档中找到,但是我不太确定如何,我是使用" hh:mm"但是没有Am或Pm标签,所以我试图这样做
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = shortstyle
然而,它说未解决的是一个未识别的标识符。有人可以告诉我这里有什么问题,并解释如何解决它,我是swift的新手。
答案 0 :(得分:0)
要解决这个问题,虽然我无法在文档中找到这是真的,我设置了dateFormatter.dateFormat =" hh:mm a"并且一个字母显示为Pm或Am
答案 1 :(得分:0)
我过去曾使用过这段代码制作一个能告诉AM或PM的时钟。
首先,在viewDidLoad中我添加:
myTimeLabel.text = ""
_ = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: Selector("updateClock"), userInfo: nil, repeats: true)
然后在它自己的功能中:
func updateClock() {
let date = NSDate()
let calendar = NSCalendar.currentCalendar()
let components = calendar.components([.Hour, .Minute, .Second], fromDate: date)
//if statement if components hour > 12 then subtract 12 if not then leave it alone.
var hour = components.hour > 12 ? components.hour - 12 : components.hour
//this is an if statement if hour is = to 0 then 12 else it is equal to hour.
hour = hour == 0 ? 12 : hour
let hourString = hour > 9 ? "\(hour)" : "0\(hour)"
let minutes = components.minute > 9 ? "\(components.minute)" : "0\(components.minute)"
let seconds = components.second > 9 ? "\(components.second)" : "0\(components.second)"
//this is an if statement if am is > then am is pm if < than it is am.
let am = components.hour > 12 ? "PM" : "AM"
myTimeLabel.text = "\(hourString):\(minutes):\(seconds) \(am)"
}
我不是此代码的来源。我从一个在线课程得到它,我花了一段时间回来,我无法找到这个代码的第一个来源。