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

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

oben Code, Datum der koreanischen aktuellen Wert Datum erhält jedes Mal, dass ich Datum nennen()Wie kann ich NSDate() in Teile aufteilen?

I refresh neuen Wert von NSDate() zu haben, würde hoffen, und so Einsatz neuen Wert in Zugriffe auf Variablen aktualisieren wie Code unten

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

hmmm gibt es Methoden NSDate() in Stücke wie unten Code zu teilen?

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

Cons ideer die Frage neu formulieren. Was möchten Sie nicht mit NSDateComponents erreichen? – catalandres

Antwort

1

können Sie verwenden, um die 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

vielen dank! Frage hinzufügen Wie wird das Datum lokalisiert? – Gundam

2

Aufspaltung Komponenten wie Stunden

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)") 

Mit dem NSDate Formatierer mit den Komponenten des NSCalendar

erfolgen können Sie die Namen finden

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

wow! gute Antwort! sehr nützlicher Tipp vielen Dank !!! – Gundam

+0

'NSDate (timeIntervalSinceNow: 0)' ??? Bitte benutzen Sie einfach 'NSDate()'. Außerdem können Sie NSDateFormatter verwenden, um den Namen des Monats zu erhalten, überprüfen Sie diese http://StackOverflow.com/a/27369380/2303865 –