Nsdateformatter日返回我在选择手机的语言。它可以返回我只有英语所有的时间?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nsdateformatter日返回我在选择手机的语言。它可以返回我只有英语所有的时间?相关的知识,希望对你有一定的参考价值。
我使用dateformatter得到天的时间在我的应用程序。但是,当我换手机的dateformatter返回我的手机选择的语言的日期和时间,由于其我的应用程序崩溃,因为我们不支持多国语言的语言,我面临的一个问题。
请找到下面的代码片段:
NSDate *date=[NSDate date];
NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init];
[objTimeFotmatter setDateFormat:@"HH:mm"];
NSDateFormatter *objDayFotmatter=[[NSDateFormatter alloc]init];
[objDayFotmatter setDateFormat:@"EEEE"];
NSString *objTime=[objTimeFotmatter stringFromDate:date];
NSString *objDay=[objDayFotmatter stringFromDate:date];
NSLog(@"objTime=%@",objTime);
NSLog(@"objDay=%@",objDay);
当我选择手机语言为Gujrati(印度),我用用,这是如下的NSLog看到输出,
2011-11-24 11:23:20.221 Belkin_Plugin[1110:707] objTime=૧૧:૨૩
2011-11-24 11:23:20.227 Belkin_Plugin[1110:707] objDay=ગુરુવાર
答案
添加以下行到dateformatter。
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[dateFormatter setLocale:usLocale];
根据你的情况,
NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init];
[objTimeFotmatter setDateFormat:@"HH:mm"];
NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[objTimeFotmatter setLocale:usLocale];
同样,对于所有dateformatters。
另一答案
迅速
let dateFormatter = DateFormatter()
dateFormatter.locale = NSLocale(localeIdentifier: "en_US") as Locale!
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm:ss"
let resultsDate = dateFormatter.string(from: date)
另一答案
尝试使用此代码:
NSDate *date=[NSDate date];
NSDateFormatter *objTimeFotmatter=[[NSDateFormatter alloc]init];
[objTimeFotmatter setDateFormat:@"HH:mm"];
[objTimeFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]
autorelease]];
NSDateFormatter *objDayFotmatter=[[NSDateFormatter alloc]init];
[objDayFotmatter setDateFormat:@"EEEE"];
[objDayFotmatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]
autorelease]];
NSString *objTime=[objTimeFotmatter stringFromDate:date];
NSString *objDay=[objDayFotmatter stringFromDate:date];
[objDayFotmatter release];
[objTimeFormatter release];
NSLog(@"objTime=%@",objTime);
NSLog(@"objDay=%@",objDay);
以上是关于Nsdateformatter日返回我在选择手机的语言。它可以返回我只有英语所有的时间?的主要内容,如果未能解决你的问题,请参考以下文章
Nsdateformatter 以所选电话的语言返回我一天。它可以一直只返回英语吗?
如何使用 nsdateformatter 将 nsdate 转换为另一种格式