Zasadniczo muszę osobno pobrać aktualną datę i godzinę w formacie:
2009-04-26 11:06:54
Generuje się poniższy kod z innego pytania na ten sam temat
teraz: | 2009-06-01 23:18:23 +0100 | dateString: | Jun 01, 2009 23:18 | przeanalizowano: | 2009-06-01 23:18:00 +0100 |
To jest prawie to, czego szukam, ale chcę oddzielić dzień i godzinę.
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH:mm"];
NSDate *now = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:now];
NSDateFormatter *inFormat = [[NSDateFormatter alloc] init];
[inFormat setDateFormat:@"MMM dd, yyyy"];
NSDate *parsed = [inFormat dateFromString:dateString];
NSLog(@"\n"
"now: |%@| \n"
"dateString: |%@| \n"
"parsed: |%@|", now, dateString, parsed);
Odpowiedzi:
Ciągi formatu iPhone są w formacie Unicode . Za linkiem znajduje się tabela wyjaśniająca znaczenie wszystkich powyższych liter, dzięki czemu możesz zbudować własne.
I oczywiście nie zapomnij zwolnić formatek daty, kiedy skończysz z nimi. Powyższy kod przecieka
format
,now
iinFormat
.źródło
to jest to, czego użyłem:
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init]; [dateFormat setDateFormat:@"yyyy-MM-dd"]; NSDateFormatter *timeFormat = [[NSDateFormatter alloc] init]; [timeFormat setDateFormat:@"HH:mm:ss"]; NSDate *now = [[NSDate alloc] init]; NSString *theDate = [dateFormat stringFromDate:now]; NSString *theTime = [timeFormat stringFromDate:now]; NSLog(@"\n" "theDate: |%@| \n" "theTime: |%@| \n" , theDate, theTime); [dateFormat release]; [timeFormat release]; [now release];
źródło
możesz użyć tej metody, po prostu podaj jej datę
-(NSString *)getDateFromString:(NSString *)string { NSString * dateString = [NSString stringWithFormat: @"%@",string]; NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"your current date format"]; NSDate* myDate = [dateFormatter dateFromString:dateString]; NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"your desired format"]; NSString *stringFromDate = [formatter stringFromDate:myDate]; NSLog(@"%@", stringFromDate); return stringFromDate; }
źródło
NSDateFormatter *dateformat = [[NSDateFormatter alloc] init]; [dateformat setDateFormat:@"Your Date Format"];
ustaw format do zwrotu to ....
yyyy-MM-dd
2015-12-17
data powrotuyyyy-MMM-dd
2015-Dec-17
data powrotuyy-MM-dd
15-12-17
data powrotudd-MM-yy
17-12-15
data powrotudd-MM-yyyy
17-12-2015
data powrotuyyyy-MMM-dd HH:mm:ss
2015-Dec-17 08:07:13
data i godzina powrotuyyyy-MMM-dd HH:mm
2015-Dec-17 08:07
data i godzina powrotuAby uzyskać więcej informacji, Format danych i czasu dla Kliknij teraz.
Dziękuję Ci.....
źródło
nic nowego, ale nadal chcę udostępniać moją metodę:
+(NSString*) getDateStringFromSrcFormat:(NSString *) srcFormat destFormat:(NSString *) destFormat scrString:(NSString *) srcString { NSString *dateString = srcString; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; //[dateFormatter setDateFormat:@"MM-dd-yyyy"]; [dateFormatter setDateFormat:srcFormat]; NSDate *date = [dateFormatter dateFromString:dateString]; // Convert date object into desired format //[dateFormatter setDateFormat:@"yyyy-MM-dd"]; [dateFormatter setDateFormat:destFormat]; NSString *newDateString = [dateFormatter stringFromDate:date]; return newDateString; }
źródło
Szybko
var dateString:String = "2014-05-20"; var dateFmt = NSDateFormatter() // the format you want dateFmt.dateFormat = "yyyy-MM-dd" var date1:NSDate = dateFmt.dateFromString(dateString)!;
źródło
Szybki 3
extension Date { func toString(template: String) -> String { let formatter = DateFormatter() formatter.dateFormat = DateFormatter.dateFormat(fromTemplate: template, options: 0, locale: NSLocale.current) return formatter.string(from: self) } }
Stosowanie
let now = Date() let nowStr0 = now.toString(template: "EEEEdMMM") // Tuesday, May 9 let nowStr1 = now.toString(template: "yyyy-MM-dd") // 2017-05-09 let nowStr2 = now.toString(template: "HH:mm:ss") // 17:47:09
Pobaw się szablonem dopasowanym do Twoich potrzeb. Przykłady i doc tutaj , aby pomóc Ci zbudować szablon trzeba.
Uwaga
Możesz zechcieć zapisać swój plik w pamięci podręcznej,
DateFormatter
jeśli planujesz goTableView
na przykład użyć . Aby dać wyobrażenie, zapętlenie ponad 1000 dat zajęło mi 0,5 sekundy przy użyciu powyższejtoString(template: String)
funkcji, w porównaniu do 0,05 sekundy przy użyciumyFormatter.string(from: Date)
.źródło
NSDate *date = [NSDate date]; NSDateFormatter *df = [[NSDateFormatter alloc] init]; [df setDateFormat:@"yyyy-MM-dd"] NSString *dateString = [df stringFromDate:date]; [df setDateFormat:@"hh:mm:ss"]; NSString *hoursString = [df stringFromDate:date];
To wszystko, masz wszystko, co chcesz.
źródło