[英]What is the best way to separate date and time from a nsstring
我有一個NSStirng
其中包含2013-01-08 07:52:00 +0000
。 我想將日期和時間分隔在不同的NSStrings
。
任何幫助表示贊賞。
服務器格式是否一致?
您是否需要將日期和時間用於排序等...或用於添加時間,還是僅顯示它們?
如果您只是顯示它們而字符串的格式不會改變,則可以執行此操作...
//assumption 1: the format is <date>space<time>space<timezone>
//assumption 2: the only purpose is to display the values sent from the server.
NSString *dateString = @"2013-01-08 07:52:00 +0000";
NSArray *components = [dateString componentsSeparatedByString:@" "];
NSString *date = components[0];
NSString *time = components[1];
首先要做的是將日期字符串轉換為NSDate
:
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss Z"];
NSDate * date = [formatter dateFromString: @"2013-01-08 07:52:00 +0000"];
然后,您可以再次使用格式化程序來逆轉該過程並返回日期和時間。 您可以根據需要調整每種格式。
[formatter setTimeStyle:NSDateFormatterShortStyle]; // Get the time only
[formatter setDateStyle:NSDateFormatterNone];
NSString * timeString = [formatter stringFromDate: date];
[formatter setTimeStyle:NSDateFormatterNone];
[formatter setDateStyle:NSDateFormatterShortStyle]; // Get the date only
NSString * dateString = [formatter stringFromDate: date];
試試下面的代碼,
NSString *maindateString = @"2013-01-08 07:52:00 +0000";
NSDateFormatter *myFormat = [[NSDateFormatter alloc] init];
[myFormat setDateFormat:@"yyyy-mm-dd hh:mm:ss Z"];
NSDate *mainDateDate = [myFormat dateFromString:maindateString];
[myFormat setDateFormat:@"yyyy-mm-dd"];
NSString *stringDate = [myFormat stringFromDate:mainDateDate];
檢查NSString
stringDate並且有您需要的:-)
編輯:要獲取時間字符串,請添加以下代碼:
NSDateFormatter *myFormat2 = [[NSDateFormatter alloc] init];
[myFormat2 setDateFormat:@"HH:mm:ss"];
NSString *stringTime = [myFormat2 stringFromDate:mainDateDate];
NSLog(@"%@",stringTime);
問候
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.