如果手机设置的是12小时制时间(hh),而转换时间和格式为24小时制(HH),那么得到的时间为nil 所以要判断当前手机时间格式再转换

下面两种情况获得的date 都为nil

    //1.如果手机是12 小时间制时间 下面代码得到的date 为nilNSString* str = @"20230410133113";NSDateFormatter* formatter = [[NSDateFormatter alloc] init];[formatter setDateFormat:@"yyyyMMddHHmmss"];NSDate* date = [formatter dateFromString:str];//2.不论手机是12小时间还是24小时,下代码得到的都为 nilNSString* dateStr = @"20230410133113";NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];NSLocale *zh_CNLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];dateFormatter.locale =zh_CNLocale;[dateFormatter setDateFormat:@"yyyyMMddhhmmss"];NSDate* date = [dateFormatter dateFromString:dateStr];NSLog(@"date = %@", date);//这样得到的date 为 nil.

如果想要获取正确的值,继续往下看

1. 如果不论手机设置的是12 小时制,还是24小时制都想获取24小时制用如下代码

    NSDate* date = [NSDate date];NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];//设置本地区就可以得到24小时制时间,不论手机是12不时制还是24小时制NSLocale *zh_CNLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];dateFormatter.locale =zh_CNLocale;[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];NSString* dateString = [dateFormatter stringFromDate:date];NSLog(@"dateTime = %@", dateString);

2. 如果想得到和手机一相的时间手机设置的是12小时制就得到12小时制时间,手机是24小时制就得到24小时间制时间

代码如下

NSString *str = [NSDateFormatter dateFormatFromTemplate:@"j" options:0 locale:[NSLocale currentLocale]];
NSRange containsA = [formatStringForHours rangeOfString:@"a"];//hasAMPM==TURE为12小时制,否则为24小时制
BOOL hasAMPM = containsA.location != NSNotFound;
NSDateFormatter* formatter = [[NSDateFormatter alloc] init];NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];formatterOne.calendar = gregorian;if (hasAMPM)
{[formatter setDateFormat:@"yyyyMMddhhmmss"];
}
else
{[formatter setDateFormat:@"yyyyMMddHHmmss"];
}

IOS 字符串转时间时12小时制24小时制的处理。相关推荐

  1. JavaScript里面实现12小时制的时分秒转化成24小时制的时分秒

    首先,通过JavaScript的Date对象可以很方便的获取12小时制的 时 分 秒: axisData = (new Date()).toLocaleTimeString().replace(/^\ ...

  2. yyyymmddhhmmss时间格式12小时制24小时制区别

    yyyymmddhhmmss时间格式12小时制24小时制区别,直接看代码:注意字母的大小写 public static void main(String[] args) {String s1 = fo ...

  3. mysql时间12小时制_mysql 12小时和24小时转换

    1.12小时显示 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String ...

  4. chronodex怎么用_时间管理丨一天24小时都用哪儿了?会用Chronodex时间饼,每天多出2小时...

    时间管理丨一天24小时都用哪儿了?会用Chronodex时间饼,每天多出2小时 2021-01-12 13:53:13 17点赞 95收藏 7评论 本文经微信公众号@手帐控(ID: shouzhang ...

  5. 【PTA】5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即“小时:分钟:秒”,当小时等于24小时,置为0。

    5-2 下列程序读入时间数值,将其加1秒后输出,时间格式为:hh: mm: ss,即"小时:分钟:秒",当小时等于24小时,置为0. #include <stdio.h> ...

  6. mysql date 24小时制_SpringBoor连接mysql数据库取数据库中时间格式是12小时制的时间,如何显示成24小时制...

    设置spring配置文件: 1.spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf- ...

  7. mysql日期转换12小时和24小时_12小时制和24小时制的转换(转)

    首先想到的是TDateTimePicker控件有没有属性来实现这一功能的转换,因为这样做的好处不言而知.在我看了TDateTimePicker. TCommonCalendar这两个类的源码后得出了结 ...

  8. python24小时12小时转换_python将时间从12小时转换为24小时格式

    给出12小时AM / PM格式的时间,将其转换为军事(24小时)时间. 注意:午夜是12小时制的凌晨12:00:00和24小时制的00:00:00.中午是12小时制的12:00:00 PM和24小时制 ...

  9. SimpleDateFormat日期转换之12小时和24小时制

    从数据库存的是24小时制的date型,即数据库时间是2015-01-01 18:30:22,而取出来之后转换date型将其以String型输出,则用了 SimpleDateFormat("y ...

最新文章

  1. 我也说说Emacs吧(6) - Lisp速成
  2. html viewer.app,HTML Viewer studio classroom
  3. CyAPI.lib(CyAPI.obj) : error LNK2019: 无法解析的外部符号...
  4. Quartz 的SB问题 GetNextValidTimeAfter 输出和输出 时区 不同步,好傻的方法?
  5. matlab字符串数组里里固定格式的内容,字符串数组和字符数组中的文本
  6. 云小课 | DSC:快速识别敏感数据并脱敏
  7. [Java] Java常见错误
  8. 用C#实现DES加密解密解决URL参数明文的问题
  9. Redhat(Linux)上的JBoss管理配置
  10. 在Mac上刻录DVD
  11. 学子商城项目用springboot后端框架搭建(IDEA)
  12. 【目标跟踪】基于贝叶斯网络实现目标滤波跟踪附matlab代码
  13. 用matlab绘制圆锥曲线,如何用几何画板绘制圆锥曲线?
  14. .Net5使用Sqlsugar操作加密Sqlite数据库
  15. 圆周运动的古中医学摘抄
  16. 常用计算机信息检索策略,信息检索的策略和方法
  17. class SequenceFileOutputFormat takes type parameters
  18. 云南省昭通市领导一行莅临上海控安调研指导
  19. MySQL第41题怎么评分_MYSQL练习题54道(包含尽可能多的解决方法及思路)
  20. 浅谈云计算技术在企业信息化建设中的应用

热门文章

  1. Angular Elements,四步将Angular 组件转换为 web 组件
  2. python:实现计算电阻Calculate resistance(附完整源码)
  3. 树莓派python_树莓派使用Python控制LCD1602模块
  4. b站黑马的Vue快速入门案例代码——【axios+Vue2】悦听player(音乐播放器)
  5. tinymp3 MP3编解码库的使用
  6. 云顶之弈s5赛季王者上分阵容
  7. JavaScript:实现复制粘贴剪切功能
  8. Linux重启命令 / 查看、重启、禁用网卡命令 / 修改IP / 操作防火墙命令
  9. FLV文件推流到Nginx(C++实现)
  10. 通达OA软件测试自学,通达OA工作流程及快速入门手册.doc