我在转换日期格式时遇到问题...
日期时间采用格式12小时格式,如 12/9/2010 4:00:00 PM
(月/日/年时:最小:秒Pm)
我需要将其转换为24小时格式,如 12/9/2010 16:00:00
任何人都可以帮帮我....
Thx提前
答案 0 :(得分:6)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateformatter.dateFormat = @"hh:mm a";
NSDate *date = [dateformatter dateFromString:departTime];
dateformatter.dateFormat = @"HH:mm";
NSString *time24 = [dateformatter stringFromDate:date];
departTimelbl.text=time24;
答案 1 :(得分:4)
只需执行此操作即可获得24小时时间格式(在Swift 2中)
let formatter = NSDateFormatter()
formatter.dateFormat = "HH:mm a" //(hh:mm a----> for 12 hour format)
let timeString = formatter.stringFromDate(NSDate())
print(timeString)
更新:Swift 3版
let formatter = DateFormatter()
formatter.dateFormat = "HH:mm a" //(hh:mm a----> for 12 hour format)
let timeString = formatter.string(from: Date())
print(timeString)
答案 2 :(得分:3)
您需要使用NSDateFormatter
。我鼓励您阅读由Kay
链接的课程参考。
这是你如何做到的。我假设日期来自NSString
。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MM-dd-yyyy HH:mm:ss"];
NSDate *myDate = [df dateFromString:yourNSString];
NSString *myNewDate = [formatter stringFromDate:myDate];
[formatter release];
[myDate release];
答案 3 :(得分:2)
使用这些功能,这会将日期字符串从12到24小时甲酸盐和24到12小时甲酸盐改变。
-(NSString *)changeformate_string24hr:(NSString *)date
{
NSDateFormatter* df = [[NSDateFormatter alloc]init];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate* wakeTime = [df dateFromString:date];
[df setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
return [df stringFromDate:wakeTime];
}
-(NSString *)changeformate_string12hr:(NSString *)date
{
NSDateFormatter* df = [[NSDateFormatter alloc]init];
[df setTimeZone:[NSTimeZone systemTimeZone]];
[df setDateFormat:@"MM/dd/yyyy HH:mm:ss"];
NSDate* wakeTime = [df dateFromString:date];
[df setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
return [df stringFromDate:wakeTime];
}
答案 4 :(得分:1)
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"HH:mm";
NSDate *date = [dateFormatter dateFromString:@"15:15"];
dateFormatter.dateFormat = @"hh:mm a";
NSString *pmamDateString = [dateFormatter stringFromDate:date];
答案 5 :(得分:0)
查看NSDateFormatter class reference和data formatting guide。在那里你会发现更特别的方法dateFromString和stringFromDate对你有意义。还有另一个问题涉及类似问题From string with locale to date on iphone sdk,您可以在设置特殊格式模板字符串时找到一些示例代码。
答案 6 :(得分:0)
在Swift中
var dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy hh:mm:ss a"
var date: Date? = dateFormatter.date(from: "12/9/2010 4:00:00 PM")
dateFormatter.dateFormat = "MM/dd/yyyy HH:mm:ss"
var convertedString: String? = nil
if let aDate = date {
convertedString = dateFormatter.string(from: aDate)
}
在目标C
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"MM/dd/yyyy hh:mm:ss a";
NSDate *date = [dateFormatter dateFromString:@"12/9/2010 4:00:00 PM"];
dateFormatter.dateFormat = @"MM/dd/yyyy HH:mm:ss";
NSString *convertedString = [dateFormatter stringFromDate:date];