NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm:ss a"];
NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]);
以上代码只提供以下输出Today's Time: 15:46:43
我希望输出为Today's Time: 3:46 PM
。
我冲浪了很多,我没有办法显示上午/下午。如果有人可以帮我找到出路,那将会非常有帮助。
我正在使用XCode 6.3,我的设备中安装了iOS 8.3。
答案 0 :(得分:14)
检查设备设置24小时。如果已开启,请将其关闭。
你的代码非常好。我得到的输出如下所示: 今天的时间:04:31:58 PM
如果您不想显示秒数,请使用以下代码:
[formatter setDateFormat:@"hh:mm a"];
答案 1 :(得分:7)
HH:24小时格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setLocale:locale];
[formatter setDateFormat:@"HH:mm a"];
<强>输出强>
Today's Time: 16:42 PM
hh:12小时格式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
[formatter setLocale:locale];
[formatter setDateFormat:@"hh:mm a"];
<强>输出强>
Today's Time: 04:43 PM
答案 2 :(得分:1)
将设备时间的时间格式更改为 12小时格式,而不是 24小时格式。你不能以24小时的时间格式到达下午。
今天的时间:15
:46:43
答案 3 :(得分:1)
试试这个
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSString *stringFromTime = [dateFormatter stringFromDate:[NSDate date]];
答案 4 :(得分:0)
尝试
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]);
答案 5 :(得分:0)
您可以轻松地将时间转换为24小时格式。
尝试使用此代码对我来说很好。
func convertTime(_ date : String) -> String{
let dateAsString = date
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "h:mm:ss " // "h:mm:ss a"
date = dateFormatter.date(from: dateAsString)
dateFormatter.dateFormat = "HH:mm a"
let date24 = dateFormatter.string(from: date!)
print(date24)
return date24
}