2016-05-12 44 views
1
func date() -> String { 
return NSDateFormatter.localizedStringFromDate(NSDate(), dateStyle: NSDateFormatterStyle.ShortStyle, timeStyle: NSDateFormatterStyle.MediumStyle) 
} 

var date = date() // 2016. 5. 13. 오전 4:45:16 

上面的代码,日期获取日期的韩国电流值每次我打电话日期()时间我怎样才能把NSDate()分成几块?

我希望从NSDate的()有刷新新的价值,所以插入刷新新的价值到像可变因素下面的代码

var yearMonDay = "2016. 5. 13" 
var hourMinSec = "오전 4:45:16" 

hmmm是否有方法将NSDate()分成如下面的代码段?

yearMonDay = NSDate().?? // refresh date "year: month: day" 
hourMinSec = NSDate().?? // refresh date "am/fm hour:minute:second 
+0

缺点思想者重新提出了这个问题。是不是你想实现你可以用NSDateComponents做什么? – catalandres

回答

1

可以使用NSDateFormatterStyle

// get the current date and time 
let currentDateTime = NSDate() 

// initialize the date formatter and set the style 
let formatter = NSDateFormatter() 

// October 26, 2015 
formatter.timeStyle = NSDateFormatterStyle.NoStyle 
formatter.dateStyle = NSDateFormatterStyle.LongStyle 
formatter.stringFromDate(currentDateTime) 

// 6:00:50 PM 
formatter.timeStyle = NSDateFormatterStyle.MediumStyle 
formatter.dateStyle = NSDateFormatterStyle.NoStyle 
formatter.stringFromDate(currentDateTime) 
+0

非常感谢你! 添加问题 日期如何本地化? – Gundam

2

分裂部件,例如小时可以使用的NSCalendar

let today  = NSDate() 
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)! 
let components = calendar.components([.Year, .Month, .Day, .Hour, .Minute, .Second], fromDate: today) 
print("\(components.month)  \(components.day)  \(components.year)") 
print("\(components.hour)  \(components.minute)  \(components.second)") 

组件随着NSDate的格式,你可以找到的名称来完成

let formatter = NSDateFormatter() 
let monthName = formatter.monthSymbols[components.month-1] 
print(monthName) 
+0

哇!好答案! 非常有用的提示 非常感谢你! – Gundam

+0

'NSDate(timeIntervalSinceNow:0)'???请使用'NSDate()'。除此之外,你可以使用NSDateFormatter获取月份名称检查http://stackoverflow.com/a/27369380/2303865 –