Gop*_*ath 53 iphone time nsdateformatter ios
我正在使用NSDateFormatter在iPhone应用程序中工作.我从网络服务中得到的时间就像"00:00:00", "16:00:00","15:30:00" and so on."00:00:00" to "12 AM"如果时间是"16:00:00" to "4 PM",如果时间是"15:30:00"到"3.30 PM" ,我需要将这些时间转换为时间.我已经使用了下面的代码,但是当我通过时"16:00:00" the date returns null.
NSString *dats1 = @"16:00:00";
NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter3 setDateFormat:@"hh:mm:ss"];
NSDate *date1 = [dateFormatter3 dateFromString:dats1];
NSLog(@"date1 : %@", date1); **// Here returning (null)**
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **// Here also returning (null)**
[formatter release];
Run Code Online (Sandbox Code Playgroud)
当通过"00:00:00"时,它正确地返回"12 AM".有谁可以帮我解决这个问题?提前致谢.
Yuv*_*j.M 113
如果您的时间格式是24hrs请使用"HH:mm:ss"格式.请测试代码并告诉我它是否适合您.我已经测试过,它正在返回"4 PM"
NSString *dats1 = @"16:00:00";
NSDateFormatter *dateFormatter3 = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter3 setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter3 setDateFormat:@"HH:mm:ss"];
NSDate *date1 = [dateFormatter3 dateFromString:dats1];
NSLog(@"date1 : %@", date1); **// Here returning (null)**
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter stringFromDate:date1]); **// Here also returning (null)**
[formatter release];
Run Code Online (Sandbox Code Playgroud)
谢谢.
eli*_*ocs 22
您可以使用.ShortStyle适应当前区域设置的:
let timeFormatter = NSDateFormatter()
timeFormatter.dateStyle = .NoStyle
timeFormatter.timeStyle = .ShortStyle
timeFormatter.stringFromDate(NSDate())
Run Code Online (Sandbox Code Playgroud)
哪个返回17:12或5:12 PM取决于当前设备区域设置.
Cha*_*ran 15
你为什么再次分配NSDateFormatter?
你只需要将其格式化为NSDate然后再次NSString,
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:dats1];
[dateFormatter setDateFormat:@"hh:mm a"];
NSString *formattedDate = [dateFormatter stringFromDate:date];
NSLog(@"%@",formattedDate);
Run Code Online (Sandbox Code Playgroud)
希望有人愿意在Swift中获得它
对于斯威夫特
let dateFormatter = NSDateFormatter()
//if some one want 12AM,5PM then use "hh mm a"
//if some one want 00AM,17PM then use "HH mm a"
dateFormatter.dateFormat = "hh mm a"
let stringDate = dateFormatter.stringFromDate(NSDate())
println(stringDate)
Run Code Online (Sandbox Code Playgroud)
小智 8
以下代码始终保持12小时格式:
NSLocale *12hourFomrat = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
df.locale = 12hourFomrat;
Run Code Online (Sandbox Code Playgroud)
这始终保持24小时格式
NSLocale *24hourFormat = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];
df.locale = 24hourFormat
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77511 次 |
| 最近记录: |