当前位置: 首页 > news >正文

objective-v 获取iPhone系统当前时间字符串适配12小时制和24小时制

我们最开始获取系统当前时间,如下,这种方式存在一个问题,当iPhone关闭了24小时制时,获取的时间格式是:iPhone11上:20230822下午210568760;iPhone7 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 @"";
}
http://www.lryc.cn/news/135131.html

相关文章:

  • 并查集及其简单应用
  • 基于web的服装商城系统java网上购物商店jsp源代码mysql
  • .NET Core发布到IIS
  • Spring的基本概念
  • 设计模式之原型模式
  • 正则表达式在网页处理中的应用四则
  • ping使用方法
  • “心理健康人工智能产学研创新联盟”揭牌成立|深兰科技
  • FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「端口映射」
  • Mybatis-动态sql和分页
  • 基于YOLOV8模型的西红柿目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • 数学建模及数据分析 || 4. 深度学习应用案例分享
  • 数据分析15——office中的Excel基础技术汇总
  • C语言好题解析(四)
  • 英语——主谓一致
  • 属性字符串解析
  • 【C++初阶】vector容器
  • ThreadLocal深度解析
  • 06有监督学习——迁移学习
  • 快速连接服务器脚本 可从多个服务中选择并连接
  • MemSeg:一种差异和共性来检测图像表面缺陷的半监督方法
  • 迈向未来的大门:人脸识别技术的突破与应用
  • Vue-9.集成(.editorconfig、.eslintrc.js、.prettierrc)
  • Qt 编译使用Bit7z库接口调用7z.dll、7-Zip.dll解压压缩常用Zip、ISO9660、Wim、Esd、7z等格式文件(一)
  • AndroidUI体系
  • CBV (基于类的视图)源码解析(1)
  • 2023-08-17 Untiy进阶 C#知识补充7——C#8主要功能与语法
  • 登陆接口的的Filter过滤
  • 【Python原创设计】基于Python Flask的全国气象数据采集及可视化系统-附下载方式以及项目参考论文,原创项目其他均为抄袭
  • 【力扣】42. 接雨水 <模拟、双指针、单调栈>