无法将 12 小时添加到日期 ios
Unable to add 12 hours to date ios
我是 iOS,
的新手
如果我的 NSString 包含 PM
,我想添加 12
小时。
我试过这段代码但没有成功
NSString *str = @"1/1/1900 3:00:00 PM"
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss A"];
NSDate *date1 = [formatter dateFromString:str];
NSLog(@"date1 : %@", date1);
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter1 stringFromDate:date1]);
请帮忙
你很接近,只犯了两个小错误。首先,A
不是有效的日期格式说明符,它应该是 a
。其次,要将 12 小时格式转换为 24 小时格式,您需要对第二个格式化程序使用 HH
而不是 hh
。
我已经修复了代码,运行 测试一下,让我知道。
NSString *str = @"1/1/1900 3:00:00 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// Need lowercase `a`, A is not a valid format
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSDate *date1 = [formatter dateFromString:str];
NSLog(@"date1 : %@", date1);
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
// If you specify the hour to be HH, it will convert the date automaticly to in 24 hour format
[formatter1 setDateFormat:@"HH:mm"];
NSLog(@"Current Date: %@", [formatter1 stringFromDate:date1]);
试试这个!!!
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH.mm"];
NSString *strCurrentTime = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"Check float value: %.2f",[strCurrentTime floatValue]);
if ([strCurrentTime floatValue] >= 19.00 || [strCurrentTime floatValue] <= 7.00)
{
NSLog(@"It's night time");
}else
{
NSLog(@"It's day time");
}
我是 iOS,
的新手如果我的 NSString 包含 PM
,我想添加 12
小时。
我试过这段代码但没有成功
NSString *str = @"1/1/1900 3:00:00 PM"
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss A"];
NSDate *date1 = [formatter dateFromString:str];
NSLog(@"date1 : %@", date1);
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setDateFormat:@"hh:mm a"];
NSLog(@"Current Date: %@", [formatter1 stringFromDate:date1]);
请帮忙
你很接近,只犯了两个小错误。首先,A
不是有效的日期格式说明符,它应该是 a
。其次,要将 12 小时格式转换为 24 小时格式,您需要对第二个格式化程序使用 HH
而不是 hh
。
我已经修复了代码,运行 测试一下,让我知道。
NSString *str = @"1/1/1900 3:00:00 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
// Need lowercase `a`, A is not a valid format
[formatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
NSDate *date1 = [formatter dateFromString:str];
NSLog(@"date1 : %@", date1);
NSDateFormatter *formatter1 = [[NSDateFormatter alloc] init];
// If you specify the hour to be HH, it will convert the date automaticly to in 24 hour format
[formatter1 setDateFormat:@"HH:mm"];
NSLog(@"Current Date: %@", [formatter1 stringFromDate:date1]);
试试这个!!!
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH.mm"];
NSString *strCurrentTime = [dateFormatter stringFromDate:[NSDate date]];
NSLog(@"Check float value: %.2f",[strCurrentTime floatValue]);
if ([strCurrentTime floatValue] >= 19.00 || [strCurrentTime floatValue] <= 7.00)
{
NSLog(@"It's night time");
}else
{
NSLog(@"It's day time");
}