iOS开发-你想要的时间格式

1.正确获取中国时区的时间

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
    dateFormatter.dateFormat = @"yyyy:mm:dd HH:mm:ss";
    return [dateFormatter stringFromDate:[NSDate date]];

2.打印年月日,时分秒以及星期

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSString *str1 = [self format: @"yyyy-MM-dd HH:mm:ss" dateTime:[NSDate date]];
    
    NSString *str2 = [self format: @"MM月dd日(cccc) HH:mm:ss" dateTime:[NSDate date]];
    
    NSLog(@"%@==%@",str1,str2);
}

- (NSString *)format:(NSString *)formatter dateTime:(NSDate *)dateTime{
    if (dateTime == nil) {
        return @" ";
    }
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
    dateFormatter.dateFormat = formatter;
    return [dateFormatter stringFromDate:dateTime];
}
  1. 把时间转换成一天中指定的时间段
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
//    NSString *str1 = [self format: @"yyyy-MM-dd HH:mm:ss" dateTime:[NSDate date]];
//    
//    NSString *str2 = [self format: @"MM月dd日(cccc) HH:mm:ss" dateTime:[NSDate date]];
//    
//    NSLog(@"%@==%@",str1,str2);
    NSLog(@"%@",[self translateDateWithDate:[NSDate date]]);
}

// 把时间转换成一天中指定的时间段
- (NSString *)translateDateWithDate:(NSDate *)date
{
    /*
     0 - 6  凌晨
     6 - 11:30 早上
     11:31 - 12:30 中午
     12:31 - 18:00 下午
     18:01 - 24:00 晚上
     */
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
    dateFormatter.dateFormat = @"HH:mm";
    NSString *dateStr = [dateFormatter stringFromDate:date];
    
    NSString *hoursMinInteger = [dateStr stringByReplacingOccurrencesOfString:@":" withString:@""];
    NSInteger hours = hoursMinInteger.integerValue;
    
    NSString *returnDate = nil;
    if (hours > 0 && hours < 600) {
        returnDate = [@"凌晨" stringByAppendingString:dateStr];
    }else if (hours >= 600 && hours < 1130){
        returnDate = [@"上午" stringByAppendingString:dateStr];
    }else if (hours >= 1131 && hours <1230 ){
        returnDate = [@"中午" stringByAppendingString:dateStr];
    }else if (hours >= 1231 && hours < 1800){
        returnDate = [@"下午" stringByAppendingString:dateStr];
    }else if (hours >= 1801 && hours <= 2400){
        returnDate = [@"晚上" stringByAppendingString:dateStr];
    }
    return returnDate;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • .h文件 #import #define D_MINUTE60 #define D_HOUR3600 #defin...
    屈涯阅读 626评论 2 0
  • iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多...
    小李龍彪阅读 6,429评论 1 6
  • 在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大...
    真巧了_嘿阅读 2,818评论 0 7
  • 自己到现在毕业一年,总结了自己在前段时间开发当中遇到的的一些细节问题,水平有限,希望有可以帮助大家的 1,在OC中...
    baixuancheng阅读 681评论 0 1
  • 明天起早就要去坐火车回老家过年了,提前问大家过年好,大家一起来聊聊各自家乡的春节是怎么一个过法,也是怪有意思的。所...
    happypeter阅读 553评论 5 5