簡體   English   中英

將日期和時間與nsstring分開的最佳方法是什么

[英]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);

問候

請從該字符串創建日期:

NSString轉換為NSDate

然后使用它們(或將它們轉換回字符串)。 就是這樣

無論如何,您應該在該NSString之前擁有一個NSDate-對嗎? 為什么不保留那個?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM