我很抱歉,因为之前可能已经提出过这个问题,但我无法找到适合我情况的答案。 我是Objective-C的新手,我并不完全知情,所以我事先道歉,因为我觉得我并不惊人;)
所以,我有一个webView,而且每天都会更改网址。例如:4月30日,网址为http://example.com/mylinkApr30 使用日期,我做了一个变量(对不起,如果我的术语关闭:\),并且url以%d结尾,一切正常,除非是月份。这些月份不是典型的MM形式,它们是缩写文本,带有月份名称的三个首字母。例如:1月,2月,3月,4月等。
我有月整数工作,它写为1,2,3等。 我该如何改变到1月,2月,3月?
我可以采取不同的方式吗? 我可以确认这些日子有效,我已经测试了它有1个变量,并在链接末尾使用了Apr。
这是我的代码,因此您更容易理解我的要求。
- (void)viewDidLoad
{
[super viewDidLoad];
self.navigationItem.title = @"Balmoral";
NSCalendar *calendar= [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSCalendarUnit unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit |
NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit;
NSDate *date = [NSDate date];
NSDateComponents *dateComponents = [calendar components:unitFlags fromDate:date];
//NSInteger year = [dateComponents year];
NSInteger month = [dateComponents month];
NSInteger day = [dateComponents day];
//NSInteger hour = [dateComponents hour];
//NSInteger minute = [dateComponents minute];
//NSInteger second = [dateComponents second];
NSString *baseURLStr = @"http://wwww.WebsiteHere.com/Apr";
NSURL *url = [NSURL URLWithString:[baseURLStr stringByAppendingFormat:@"%d.ashx", day]];
[webView loadRequest:[NSURLRequest requestWithURL:url]];
[NSCalendar release];
}
答案 0 :(得分:2)
查看NSDateFormatter
课程,例如:
int month = 3;
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM"];
NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%02i", month]];
[formatter setDateFormat:@"MMM"];
NSString *monthString = [formatter stringFromDate:date];
NSLog(@"MONTH STRING %@", monthString);
monthString应为“Mar”
答案 1 :(得分:0)
,由于您没有使用标准MM格式,因此无法使用NSDateFormatter。所有12个月都需要一个开关。
NSString * monthString = nil;
switch (month)
{
case 1:
monthString = @"Jan";
break;
case 2:
...
}
然后修改自己的代码:
NSString *baseURLStr = @"http://wwww.WebsiteHere.com/";
NSURL *url = [NSURL URLWithString:[baseURLStr stringByAppendingFormat:@"%@%d.ashx", monthString, day]];
编辑: 瑞安是对的。他的解决方案更好。
答案 2 :(得分:0)
一种简单且可能天真的方法是使用所需文本的数组:
NSArray *months = [NSArray arrayWithObjects:@"Jan", @"Feb", nil];
这将允许您通过以下方式获取字符串:
NSString *monthString = [months objectAtIndex:month];