1

全て、

データベースから日付 (YYYY-MM-DD H:M:S) を取得し、日付文字列から年、月、日のコンポーネントを使用して URL を作成するメソッドがあります。私の解決策は機能しますが、これを行うためのより良い方法があるかどうか疑問に思っていましたか? クールな子供たちはどのようにやっていますか?:-)

ありがとう!

   -(NSString *) prettyURLFrom:(NSString *)dateString{



    NSString * URLString = @"";
    NSString *URL = @"http://www.theblues.com/featured/article/";

    NSArray *myWords = [dateString componentsSeparatedByCharactersInSet:
                        [NSCharacterSet characterSetWithCharactersInString:@"-\" \" :"]
                        ];


    URLString = [NSString stringWithFormat:@"%@%@/%@/%@", 
                    URL,
                    [myWords objectAtIndex:1],
                    [myWords objectAtIndex:2],
                    [myWords objectAtIndex:0]];



    return URLString;


   }
4

2 に答える 2

1

オブジェクトがある場合NSDateは、使用できます

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit fromDate:date];

    NSInteger day = [components day];
    NSInteger month = [components month];
    NSInteger year = [components year];  

NSString から NSDate

[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehavior10_4];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"YYYY-MM-DD HH:MM:SS"];

NSDate *dateFromString = [[NSDate alloc] init];
dateFromString = [dateFormatter dateFromString:@"1999-07-02 2:2:4"];
于 2012-03-30T12:10:41.740 に答える
1

コメントで言ったように、おそらくそれぞれ NSDate と NSURL であるはずの値を文字列として渡したり返したりするのは奇妙だと思います。

私はおそらく次のようなことをします:

-(NSURL*)URLFromDate:(NSDate*)date
{
    // Assumes user uses a gregorian calendar
    NSDateComponents *dateComp = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit) fromDate:date];

    return [NSURL URLWithString:[NSString stringWithFormat:@"http://www.theblues.com/featured/article/%li/%li/%li"
                                    , [dateComp year]
                                    , [dateComp month]
                                    , [dateComp day]]];
}
于 2012-03-30T12:23:34.137 に答える