swift获取当前时间通过NSDate()实现。但由于NSDate获取的格式不是String,所以不能直接被用于显示在label中。解决方案如下:
首先在界面中加入一个label,并拖动到ViewController.swift代码中添加关联
@IBOutlet weak varCurrentTime: UILabel!
在viewdidload中加入以下代码:
var date = NSDate()
var dateformatter= DateFormatter()
dateformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
var strNowTime= dateformatter.string(from: date as Date) as String
CurrentTime.text =strNowTime;
=======================
插入一个关于时间格式的问题,12小时制时间格式与24小时制时间格式之间只差一个大小写
- 12小时制:
dateformatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
- 24小时制:
dateformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
两者区别只在于表示小时的hh大小写
================================
所以, 最终实现“在label中显示当前时间”的代码如下:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak varCurrentTime: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
var date = NSDate()
var dateformatter= DateFormatter()
dateformatter.dateFormat = "yyyy-MM-ddHH:mm:ss"
var strNowTime= dateformatter.string(from: date as Date) as String
CurrentTime.text =strNowTime;
}
}