我遇到了NSDateFormatter的连线问题。以下是我的代码:NSDateFormatter*formatter=[[NSDateFormatteralloc]init];[formattersetDateFormat:@"hh:mma"];NSString*currentHours=[formatterstringFromDate:[NSDatedate]];NSLog(@"Hours:%@",currentHours);如果设备设置显示时间为12小时(即AM和PM),则输出如下:Hours:12:40PM如果设备设置设置为以24小时输出显示时间:Hours:12:41这也影响了
我正在使用NSDateFormatter来格式化持续时间(seehere)。我想使用这样的格式:“3小时15分钟”。这是我正在使用的格式字符串:@"H'小时,'m'分钟'"。问题是,对于短于一小时的持续时间,结果类似于“0小时35分钟”。在这种情况下,我只想显示“35分钟”。有没有办法告诉NSDateFormatter在没有小时的情况下根本不显示小时,或者我应该只使用if语句并手动构造字符串?编辑:我很清楚,这很容易通过几行额外的代码手动完成,这就是我过去的做法。我只是想知道格式化程序是否有足够的智慧来自行处理这个问题,因为这似乎是一个常见问题。 最佳答案
这个问题在这里已经有了答案:-[NSDateFormatterdateFromString:]returnsnil(3个答案)关闭5年前。我在使用NSDateFormatter的dateFromString方法时遇到问题。我有以下日期:Tue,12Jul201120:18:26GMT,但NSDateFormatter似乎无法识别它并返回(空)。这是我尝试过的:NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetDateFormat:@"dd/MM/yyyyHH:MM:SS"];NSDat
我正在处理一个JSON字符串,它是格式为:2013-01-07T12:30:00+11:00的日期时间字符串NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetTimeZone:[NSTimeZonetimeZoneForSecondsFromGMT:0]];[dateFormattersetDateFormat:@"yyyy-MM-dd'T'HH:mm:ssZ"];NSString*startString=(NSString*)[dictionaryobjectForKey:@"sta
我想根据用户设备的区域显示日期和月份。因此,今天的日期在美国设置中显示为5/18,在德国设置中显示为18.5.。因为我想处理所有可能的语言环境,所以我不能简单地使用[dateFormattersetDateFormat:]和[dateFormattersetDateStyle:NSDateFormatterShortStyle]来显示年份。除了尝试识别字符串中的年份值并将其删除之外,还有更优雅的方法吗? 最佳答案 我自己找到了答案:[self.dateFormattersetDateFormat:[NSDateFormatterda
我有一个日期字符串,我想将其转换为另一种格式。原始日期字符串示例是:“2013-06-0402:19:21+0000”我想把它转换成“6月4日,星期三”NSString*date_string=@"2013-06-0402:19:21+0000";NSDateFormatter*complexdateFormater=[[NSDateFormatteralloc]init];[complexdateFormatersetDateFormat:@"yyyy-M-DDHH:mm:ssZ"];NSDate*complexdate=[complexdateFormaterdateFromStr
如何以这种特定格式“2013年1月”等格式在TableView中获取一年中的所有月份。我还需要设置开始月份。下面是我试过的代码。intmCurrentMonth=[dateComponentsmonth];intmCurrentYear=[dateComponentsyear];NSString*dateString=[NSStringstringWithFormat:@"%d",mCurrentMonth];NSDateFormatter*dateFormatter=[[NSDateFormatteralloc]init];[dateFormattersetDateFormat:@"
我编写了将当前时间转换为utc-gmt或gmt-utc的函数。如果msgArrivedDate为空,这些函数就可以正常工作。如果不是(这意味着msgArrivedDate来自不转换的休息服务。jSON解析部分:NSArray*messageSentTime=[[argsvalueForKey:@"messageSendDate"]objectAtIndex:0];for(inti=0;i函数部分:-(id)timeZoneFormatter:(NSString*)formatType:(NSString*)msgArrivedDate{NSDate*date;NSDateFormatt
据我所知,日期格式会因地区而异,有没有办法从当前日期的设备本地设置中读取日期格式?日期格式是“dd/MM/yyyy”还是“MM/dd/yyyy”。时间格式是“h:mma”或其他格式。AM/PM文本是“AM”或“PM”。我负担不起任何第三方库,请告诉我这是否可以使用任何苹果类来完成。已编辑:我不想设置任何格式,我只想根据区域设置从设备中检索它。比如,在我的国家/地区,日期格式是dd/MM/yyyy,在单词的某些部分是MM/dd/yyyy,我想获得这种格式。如有任何答复,我们将不胜感激。 最佳答案 您要找的方法是+[NSDateForm
self.dateFormatter=[[NSDateFormatteralloc]init];[self.dateFormattersetTimeZone:[NSTimeZonetimeZoneWithName:@"UTC"]];[self.dateFormattersetLocale:[[NSLocalealloc]initWithLocaleIdentifier:@"en_US_POSIX"]];[self.dateFormattersetDateFormat:@"yyyyMMdd"];NSDate*date=[NSDatedate];NSString*dateString=[s