网站怎么做图片动态图片不显示,哈尔滨小程序开发,域名怎么注册,海口网页建站模板我们最开始获取系统当前时间#xff0c;如下#xff0c;这种方式存在一个问题#xff0c;当iPhone关闭了24小时制时#xff0c;获取的时间格式是#xff1a;iPhone11上#xff1a;20230822下午210568760#xff1b;iPhone7 plus上#xff1a;2023082240043851 PM#…我们最开始获取系统当前时间如下这种方式存在一个问题当iPhone关闭了24小时制时获取的时间格式是iPhone11上20230822下午210568760iPhone7 plus上2023082240043851 PM而我们预期的时间格式是20230822172433548
之前获取时间格式
- (NSString*) getTime_bak{NSDateFormatter *formatter [[NSDateFormatter alloc] init];[formatter setDateFormat:yyyyMMddHHmmssSSS];NSString *current [formatter stringFromDate:[NSDate date]];return current;
}修正后获取时间
-(NSString*)getTime{try {//当前时间对象[dateNow]NSDate *dateNow [NSDate date];/*日历类[calendar]注意: 一定要用[NSCalendar currentCalendar]初始化,如果用[[NSCalendar alloc] init]初始化, 获取的时间会是随机式.*/NSCalendar *calendar [NSCalendar currentCalendar];NSInteger year; //年NSInteger month; //月NSInteger day; //日NSInteger hour; //时NSInteger minute; //分NSInteger second; //秒NSInteger nanosecond; //10^-9秒/*使用[calendar]对象从[dateNow]中获取 [hour] [minute] [second] [nanosecond]注意: 是取地址符, 把变量的地址传过去,函数会把相应的值写入这个地址, 我们的变量里面就存入相应的值了.*/[calendar getHour:hour minute:minute second:second nanosecond:nanosecond fromDate:dateNow];/*使用[calendar]对象从[dateNow]中获取[year],[month],[day].注意: [Era]是公元的意思, 现在的日期都会为1.由于没有文档介绍这个值的含义, 使用的需求度也不高, 暂时先不研究这个.*/[calendar getEra:nil year:year month:month day:day fromDate:dateNow];/*打印获取的值注意: %d是32位整数.%ld是64位整数.%2ld是64位整数, 如果不足2位则在左边补充空格.%02ld是64位整数, 如果不足2位则在左边补充0.输出结果: 2015-03-26 13:44:34.582 MyCake[3020:106505] 2015-03-26 13:44:34.582结果说明: 对比一下, 系统输出的时间, 和你的时间是不是一样的.而且毫米数字都一样, 说明这种写法效率非常高.*///NSLog(%04ld-%02ld-%02ld %02ld:%02ld:%02ld.%03ld, year, month, day, hour, minute, second, nanosecond/1000000);NSString *timeStr [NSString stringWithFormat:%04ld%02ld%02ld%02ld%02ld%02ld%03ld, year, month, day, hour, minute, second, nanosecond/1000000];//无论是否关闭了24小时制都返回这个格式20230822172433548NSLog(%, timeStr);return timeStr;} catch (NSException *exception) {NSLog(%, [exception reason]);}return ;
}