Fah*_*kar 0 objective-c nsdateformatter ios ios7
以下是我所拥有的.
NSString *mss = @"2014-06-25 18:03:59.61";
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[f setDateFormat:@"YYYY-MM-dd HH:mm:ss.S"];
NSDate *date = [f dateFromString:mss];
NSDateFormatter *f2 = [[NSDateFormatter alloc] init];
NSLog(@"date==%@", date);
[f2 setDateFormat:@"dd/MM/YYYY hh:mm a"];
NSString *s = [[f2 stringFromDate:date] uppercaseString];
NSLog(@"s===%@--", s);
Run Code Online (Sandbox Code Playgroud)
我有2个iPhone和iOS 7最新版本.
现在,当我尝试运行上面的代码时,它可以在iPhone 5s(12小时格式)中正常工作,但为iPhone 4s提供24小时格式化日期(24小时格式).
iPhone 4s >> 24小时格式
date==2014-06-25 15:03:59 +0000
s===25/06/2014 18:03--
^^^^^ this is problem
Run Code Online (Sandbox Code Playgroud)
iPhone 5s >> 12小时格式
date==2014-06-25 03:03:59 pm +0000
s===25/06/2014 06:03 PM--
Run Code Online (Sandbox Code Playgroud)
知道我该如何解决这个问题?
大问题是我在线下失踪了.
[f2 setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
Run Code Online (Sandbox Code Playgroud)
我不得不使用相同的时区设置两个格式化程序.
试试这个
NSString *sel_date= @"2014-06-25 18:03:59.61";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss.S"];
NSDate *date = [dateFormatter dateFromString:sel_date];
[dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm a"];
NSString *dateWithNewFormat = [dateFormatter stringFromDate:date];
NSLog(@"datestring ==== %@",dateWithNewFormat);
Run Code Online (Sandbox Code Playgroud)
输出是
datestring ==== 25/06/2014 06:03 PM
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |