NSDateFormatter- stringFromDate 未返回 AM/PM
NSDateFormatter- stringFromDate not returning AM/PM
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
。
我冲浪了很多,但我没有找到显示 AM/PM 的方法。如果有人可以帮助我找到出路,那将非常有帮助。
我正在使用 XCode 6.3,我的设备中安装了 iOS 8.3。
尝试
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]);
检查您设备的 24 小时制设置。如果已打开,请将其关闭。
您的代码完全没问题。我得到如下所示的输出:
今天时间:04:31:58下午
如果您不想显示秒数,请使用此代码:
[formatter setDateFormat:@"hh:mm a"];
将设备时间的时间格式更改为 12 小时格式,而不是 24 小时格式。您无法以 24 小时时间格式获取 am pm。
今天时间:15
:46:43
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
试试这个
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSString *stringFromTime = [dateFormatter stringFromDate:[NSDate date]];
您可以轻松地将时间转换为 24 小时格式。
试试这个代码,它对我来说工作正常。
func convertTime(_ dateAsString : String) -> String{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "h:mm:ss " // "h:mm:ss a"
let date = dateFormatter.date(from: dateAsString)
dateFormatter.dateFormat = "HH:mm a"
let date24 = dateFormatter.string(from: date!)
print(date24)
return date24
}
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
。
我冲浪了很多,但我没有找到显示 AM/PM 的方法。如果有人可以帮助我找到出路,那将非常有帮助。
我正在使用 XCode 6.3,我的设备中安装了 iOS 8.3。
尝试
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mm a"];
NSLog(@"Today's Time: %@", [formatter stringFromDate:[NSDate date]]);
检查您设备的 24 小时制设置。如果已打开,请将其关闭。
您的代码完全没问题。我得到如下所示的输出: 今天时间:04:31:58下午
如果您不想显示秒数,请使用此代码:
[formatter setDateFormat:@"hh:mm a"];
将设备时间的时间格式更改为 12 小时格式,而不是 24 小时格式。您无法以 24 小时时间格式获取 am pm。
今天时间:15
:46:43
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
试试这个
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh:mm a"];
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]];
NSString *stringFromTime = [dateFormatter stringFromDate:[NSDate date]];
您可以轻松地将时间转换为 24 小时格式。
试试这个代码,它对我来说工作正常。
func convertTime(_ dateAsString : String) -> String{
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "h:mm:ss " // "h:mm:ss a"
let date = dateFormatter.date(from: dateAsString)
dateFormatter.dateFormat = "HH:mm a"
let date24 = dateFormatter.string(from: date!)
print(date24)
return date24
}