从操场开始。我正在尝试创建一个简单的应用程序。
我创建了一个date对象,就像这样:
var date = NSDate()
我怎样才能得到当前的时间?在其他语言中,我可以这样做:
var hour = date.hour
但我找不到任何这样的属性/方法。我找到了一个方法,dateWithCalendarFormat。我应该用这个吗?如果是,怎么做?
从操场开始。我正在尝试创建一个简单的应用程序。
我创建了一个date对象,就像这样:
var date = NSDate()
我怎样才能得到当前的时间?在其他语言中,我可以这样做:
var hour = date.hour
但我找不到任何这样的属性/方法。我找到了一个方法,dateWithCalendarFormat。我应该用这个吗?如果是,怎么做?
当前回答
你也可以使用NSDateFormatter的方便方法,例如:
func printTimestamp() {
let timestamp = NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: .MediumStyle, timeStyle: .ShortStyle)
print(timestamp)
}
printTimestamp() // Prints "Sep 9, 2014, 4:30 AM"
其他回答
使用Swift 5 (Xcode 10 & Xcode 11)(来自法国UTC)
func getCurrentDateTime() {
let now = Date()
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "fr_FR")
formatter.dateFormat = "EEEE dd MMMM YYYY HH:mm"
myLabel.text = formatter.string(from: now)
myLabel.font = UIFont(name: "HelveticaNeue-Light", size: 12)
myLabel.textColor = UIColor.black
}
如果您只想显示日期,请设置formatter.dateFormat
formatter.dateFormat = "EEEE dd MMMM YYYY"
若要只显示小时,请更改格式化程序。dateFormat来
formatter.dateFormat = "HH:mm"
不要忘记在viewDidLoad上添加getCurrentDateTime()。
一行Swift 5.2
let date = String(DateFormatter.localizedString(from: Date(), dateStyle: .medium, timeStyle: .short))
你可以从Dateformatter获取
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd/MM/yyyy"
let dateString = dateFormatter.string(from:Date())
print(dateString)
斯威夫特5
func printTimestamp() {
let timestamp = DateFormatter.localizedString(from: NSDate() as Date, dateStyle: .medium, timeStyle: .short)
print(timestamp)
}
和调用函数printTimestamp()
func getCurrentDate() -> Date {
let date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let dateInString = dateFormatter.string(from: date)
let dateinDate = dateFormatter.date(from: dateInString)
return dateinDate!
}