• iOS- NSDateFormatter (自定义时间格式)


    一. NSDateFormatter解释

    1. 日期(NSDate)是NSString类的格式(stringWithFormat),也可以改变输出,如果需要输出年代信息等则需要进行转换,等等。

    2. NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间。

    3. NSDateFormatter可以比较方便的进行格式转换。

    二. 时间格式定义

    1. G        --> 公元时代

     2. yy       --> 年的后两位

     3. yyyy     --> 完成的年

     4. MM       --> 月份  1-12月

     5. MMM      --> 月份英文简写 如Jan

     6. MMMM     --> 月份英文全写 如Janualy

     7. dd       --> 日  两位数表示 如02

     8. d        --> 日  1-2位显示 如 1 或者12

     9. EEE      --> 简写星期几 如: Sun

     10. EEEE    --> 全写星期几 Sunday

     11. aa      --> 上午下午  AM/PM

     12. H       --> 小时 24小时制 0-23

     13. K       --> 小时 12小时制 1-12

     14. m       --> 分钟  1-2位 如 2 或者22

     15. mm      --> 分钟  2位    如02

     16. s       --> 秒   1-2位

     17. ss      --> 秒   2位

     18. S       --> 毫秒

    三. 封装的修改时间格式的方法 (需要传入NSString类型,并且返回NSString类型)

    - (NSString *)formateDateToFull:(NSString *)string

    {

        /**

         1. 获取到初始的时间字符串

         2. 设置该时间的格式

         3. 将时间字符串转变成为NSDate类型

         4. 重新设置自己想要时间格式

         5. 将时间转化为时间字符串

         */

        

        //实例化一个NSDateFormatter对象

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        

        /**

         1. 模拟器默认的是英语环境,不加这句话也可以转换,

         2. 在真机上不加这句话就会获取不到下面的NSDate对象.因为真机一般是简体中文.

         3. 这句话的意思就死设置时间支持的语言为简体中文

         */

        dateFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"en"];

        

        

        // 设定时间格式,这个格式是后台给的时间,需要根据具体的时间格式自己定义.

        [dateFormatter setDateFormat:@"EEE MM dd HH:mm:ss yyyy"];

        

        // 将时间字符串根据上面设置的时间格式转换成NSDate类型

        NSDate *date = [dateFormatter dateFromString:string];

        

        // 重新设置自己想要的时间格式

        [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm"];

        

        // 将时间NSDate转化成为需要的NSString类型

        NSString *currentDateStr = [dateFormatter stringFromDate:date];

        

        return currentDateStr;

    }

    你的一次推荐就是对我莫大的支持。感觉不错,给个推荐或者评论吧。
  • 相关阅读:
    网络流24题-运输问题
    ASP.NET API
    面向对象理解
    冒泡排序
    HTTP Header 缓存
    HTTP Header
    Flask学习笔记07之模板渲染
    Flask学习笔记06之@before_request请求之前执行
    Flask报错:AssertionError: View function mapping is overwriting an existing endpoint function: inner
    装饰器03之多个装饰器的执行顺序
  • 原文地址:https://www.cnblogs.com/mancong/p/5422471.html
Copyright © 2020-2023  润新知