Iphone 早晚展览申请表
IOS应用程序以登录名显示上午/下午/晚上。 早上好,像这样的X先生 需要从当前日期和时区计算这些事件Iphone 早晚展览申请表,iphone,ios,Iphone,Ios,IOS应用程序以登录名显示上午/下午/晚上。 早上好,像这样的X先生 需要从当前日期和时区计算这些事件//以计算当前日期 // For calculating the current date NSDate *date = [NSDate date]; // Make Date Formatter NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"hh
//以计算当前日期
// For calculating the current date
NSDate *date = [NSDate date];
// Make Date Formatter
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"hh a"];
// hh for hour mm for minutes and a will show you AM or PM
NSString *str = [dateFormatter stringFromDate:date];
NSLog(@"%@", str);
// Sperate str by space i.e. you will get time and AM/PM at index 0 and 1 respectively
NSArray *array = [str componentsSeparatedByString:@" "];
// Now you can check it by 12. If < 12 means Its morning > 12 means its evening or night
NSString *message;
NSString *personName = @"Mr.X";
NSString *timeInHour = array[0];
NSString *am_pm = array[1];
if([timeInHour integerValue] < 12 && [am_pm isEqualToString:@"AM"])
{
message = [NSString stringWithFormat:@"Good Morning %@", personName];
}
else if ([timeInHour integerValue] <= 4 && [am_pm isEqualToString:@"PM"])
{
message = [NSString stringWithFormat:@"Good Afternoon %@", personName];
}
else if ([timeInHour integerValue] == 12 && [am_pm isEqualToString:@"PM"])
{
message = [NSString stringWithFormat:@"Good Afternoon %@", personName];
}
else if ([timeInHour integerValue] > 4 && [am_pm isEqualToString:@"PM"])
{
message = [NSString stringWithFormat:@"Good Night %@", personName];
}
NSLog(@"%@", message);
NSDate*日期=[NSDate日期];
//生成日期格式化程序
NSDateFormatter*dateFormatter=[[NSDateFormatter alloc]init];
[日期格式化程序setDateFormat:@“hh a”];
//hh表示小时mm表示分钟,a表示上午或下午
NSString*str=[dateFormatter stringFromDate:date];
NSLog(@“%@”,str);
//按空间划分str,即在索引0和1处分别获得时间和AM/PM
NSArray*数组=[str componentsSeparatedByString:@'];
//现在你可以在12点前检查。如果<12表示它的早晨,那么>12表示它的晚上或夜晚
NSString*消息;
NSString*personName=@“Mr.X”;
NSString*timeInHour=数组[0];
NSString*am_pm=数组[1];
if([timeInHour integerValue]<12&&[am_pm isEqualToString:@“am”])
{
message=[NSString stringWithFormat:@“早上好%@”,personName];
}
else if([timeInHour integerValue]4&&[am_pm IsequalString:@“pm”])
{
message=[NSString stringWithFormat:@“晚安%@”,personName];
}
NSLog(@“%@”,消息);
使用NSCalendar还可以获得小时数:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:NSHourCalendarUnit fromDate:date];
NSInteger hour = [dateComponents hour];
if (hour < 12)
{
// Morning
}
else if (hour > 12 && hour <= 16)
{
// Afternoon
}
else
{
// Night
}
NSCalendar*gregorian=[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents*dateComponents=[gregorian components:NSHourCalendarUnit fromDate:date];
NSInteger小时=[dateComponents小时];
如果(小时<12)
{
//早晨
}
else if(hour>12&&hour//用于计算当前日期
NSDate*日期=[NSDate日期];
//生成日期格式化程序
NSDateFormatter*dateFormatter=[[NSDateFormatter alloc]init];
[日期格式化程序setDateFormat:@“hh a”];
//hh表示小时mm表示分钟,a表示上午或下午
NSString*str=[dateFormatter stringFromDate:date];
NSLog(@“%@”,str);
//按空间划分str,即在索引0和1处分别获得时间和AM/PM
NSArray*数组=[str componentsSeparatedByString:@'];
//现在你可以用12来检查它。如果<12表示它的早晨,那么>12表示它的晚上
NSString*消息;
NSString*personName=@“Mr.X”;
NSString*timeInHour=数组[0];
NSString*am_pm=数组[1];
if([timeInHour integerValue]<12&&[am_pm isEqualToString:@“am”])
{
message=[NSString stringWithFormat:@“早上好%@”,personName];
}
else if([timeInHour integerValue]4&&[am_pm IsequalString:@“pm”])
{
message=[NSString stringWithFormat:@“晚安%@”,personName];
}
NSLog(@“%@”,消息);
使用NSCalendar还可以获得小时数:
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:NSHourCalendarUnit fromDate:date];
NSInteger hour = [dateComponents hour];
if (hour < 12)
{
// Morning
}
else if (hour > 12 && hour <= 16)
{
// Afternoon
}
else
{
// Night
}
NSCalendar*gregorian=[[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents*dateComponents=[gregorian components:NSHourCalendarUnit fromDate:date];
NSInteger小时=[dateComponents小时];
如果(小时<12)
{
//早晨
}
否则,如果(小时>12&&hour您可以使用NSDateComponents
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitHour fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
if (currentHour >= 0 && currentHour < 12) {
//@"Good Morning
} else if (currentHour >= 12 && currentHour < 17) {
//Good Afternoon
} else if (currentHour >= 17 && currentHour < 21) {
//Good Evening
} else {
//"Good Night
}
NSDateComponents*components=[[NSCalendar currentCalendar]components:NSCalendarUnitHour fromDate:[NSDate date]];
NSInteger currentHour=[组件小时];
如果(当前小时>=0&¤tHour<12){
//@“早上好
}否则如果(当前小时>=12和当前小时<17){
//下午好
}否则如果(当前小时>=17和当前小时<21){
//晚上好
}否则{
//“晚安
}
您可以使用NSDateComponents
NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitHour fromDate:[NSDate date]];
NSInteger currentHour = [components hour];
if (currentHour >= 0 && currentHour < 12) {
//@"Good Morning
} else if (currentHour >= 12 && currentHour < 17) {
//Good Afternoon
} else if (currentHour >= 17 && currentHour < 21) {
//Good Evening
} else {
//"Good Night
}
NSDateComponents*components=[[NSCalendar currentCalendar]components:NSCalendarUnitHour fromDate:[NSDate date]];
NSInteger currentHour=[组件小时];
如果(当前小时>=0&¤tHour<12){
//@“早上好
}否则如果(当前小时>=12和当前小时<17){
//下午好
}否则如果(当前小时>=17和当前小时<21){
//晚上好
}否则{
//“晚安
}
有很多帖子是关于从当前时区确定时间的。我建议搜索存档。有很多帖子是关于从当前时区确定时间的。我建议搜索存档。既然可以使用NSCalendar
和NSDateComponents
并获得小时数,为什么还要乱解析字符串是的。如果当前区域设置使用阿拉伯数字或其他内容,那么您的代码不会中断。事实上,我还没有使用NSCalender
。显然我没有机会使用它:(@benzado-谢谢…;)工作很好,但我认为诀窍是从日期格式化程序而不是从您自己的字符串中获取早晨和晚上的信息?然后使用localization@AndriusSteponavičius第二种方法是正确和更好的,因为我们使用的是NSCalendar
,但我们只能得到am和pm,所以早上、中午和晚上都有一些计算。为什么这么乱当您可以使用NSCalendar
和NSDateComponents
并直接获取小时数时,解析字符串。如果当前区域设置使用阿拉伯数字或其他内容,则您的代码不会中断。事实上,我还没有使用NSCalendar
。显然,我没有机会使用它:(@benzado-谢谢…;)工作很好,但我认为诀窍是从日期格式化程序而不是从您自己的字符串中获取早晨和晚上的信息?然后使用localization@AndriusSteponavičius第二种方法是正确和更好的,因为我们使用的是NSCalendar
,但我们只能得到am和pm,因此需要对上午、中午和晚上进行一些计算。