zoukankan      html  css  js  c++  java
  • NSDate和NSString相互转换

    1

    不积小流无以成江海,不及硅步无以至千里。做iOS开发也是这样。平时写代码要多收集一些实用的代码,以免每次都从新来一遍,不仅浪费时间,也影响开发效率。

    有人把做app形容成盖房子。码农就是搬砖的。真的是形象无比。随着时间的推移。手里积累的优秀代码就越来越多。这样,盖起房子来,效率肯定是杠杠的。

    我也会收集一些实用的代码。有的会写在博客里。有的会写成demo放在github上面。有的就非常安静的躺在我的电脑里。

    每次我用到的时候。我都会顺手复制过来。

    今天给大家分享一些关于NSDate和NSString相互转换。

    百度一下,有一大推相关的方法。

    每次都百度。不如自己收集起来方便。

    NSDate转NSString

    日期转成字符串。这个尽管简单,可是我相信非常多朋友初次遇到肯定束手无策。

    脑子里蹦出四个字:这怎么转?直接上代码:

    //获取系统当前时间
    NSDate *currentDate = [NSDate date];
    //用于格式化NSDate对象
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    //设置格式:zzz表示时区
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
    //NSDate转NSString
    NSString *currentDateString = [dateFormatter stringFromDate:currentDate];
    //输出currentDateString
    NSLog(@"%@",currentDateString);
    

    NSDate对象包括两个部分。日期(Date)和时间(Time)。

    格式化的时间字符串主要也是针对日期和时间的。

    NSDateFormatter是一个非经常常使用的类。用于格式化NSDate对象,支持本地化的信息。

    NSDateFormatter经常使用的格式有:

    yyyy-MM-dd HH:mm:ss.SSS 
    yyyy-MM-dd HH:mm:ss
    yyyy-MM-dd
    MM dd yyyy
    

    NSDateFormatter格式化參数例如以下:

    G: 公元时代,比如AD公元
    yy: 年的后2位
    yyyy: 完整年
    MM: 月,显示为1-12
    MMM: 月,显示为英文月份简写,如 Jan
    MMMM: 月。显示为英文月份全称。如 Janualy
    dd: 日,2位数表示。如02
    d: 日。1-2位显示。如 2
    EEE: 简写星期几,如Sun
    EEEE: 全写星期几,如Sunday
    aa: 上下午,AM/PM
    H: 时,24小时制,0-23
    K:时,12小时制,0-11
    m: 分。1-2位
    mm: 分,2位
    s: 秒,1-2位
    ss: 秒,2位
    S: 毫秒
    

    NSString转NSDate

    既然NSDate能够转成NSString,毫无疑问NSString也能够转成NSDate。代码例如以下:

    //须要转换的字符串
    NSString *dateString = @"2015-06-26 08:08:08";
     //设置转换格式
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
    [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    //NSString转NSDate
    NSDate *date=[formatter dateFromString:dateString];
    

    NSDate和NSString相互转换就是这么简单。

    转换工具类

    在项目中。我们须要用到转换的地方可能不止一处,所以建议我们定义一个工具类。

    在工具类里实现例如以下两个方法:

    //NSDate转NSString
    + (NSString *)stringFromDate:(NSDate *)date
    {
        //获取系统当前时间
        NSDate *currentDate = [NSDate date];
        //用于格式化NSDate对象
        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
        //设置格式:zzz表示时区
        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss zzz"];
        //NSDate转NSString
        NSString *currentDateString = [dateFormatter stringFromDate:currentDate];
        //输出currentDateString
        NSLog(@"%@",currentDateString);
        return currentDateString;
    }
    
    //NSString转NSDate
    + (NSDate *)dateFromString:(NSString *)string
    {
        //须要转换的字符串
        NSString *dateString = @"2015-06-26 08:08:08";
        //设置转换格式
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init] ;
        [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
        //NSString转NSDate
        NSDate *date=[formatter dateFromString:dateString];
        return date;
    }
    

    有了这个工具类,妈妈再也不用操心我的转换能力啦!

    作者李刚是刚刚在线(www.superqq.com)站长,百度百家专栏作者
    iOSproject师非著名自媒体。微信公众号iOS开发:iOSDevTip运营者

    2

  • 相关阅读:
    JDBC原理
    练习 map集合被使用是因为具备映射关系 "进度班" "01" "张三" "进度班" "02" "李四" "J1701" "01" "王五" "J1701" "02" "王二" 此信息中,我们要怎样把上述信息装入集合中, 根据班级信息的到所有的所有信
    练习 HashSet 去重复
    集合练习 练习:每一个学生Student都有一个对应的归属地定义为String类型。学生属性:姓名,年龄 注意:姓名和年龄相同的视为同一个学生。保证学生的唯一性。 1、描述学生。 2、定义Map容器,将学生作为键,地址作为值存入集合中。 3、获取Map中的元素并进行排序。
    Java学习之Iterator(迭代器)的一般用法 (转)
    int 跟 Integer 的关系
    第十节 集合类Collection和Map
    类 Arrays StringBuilder 跟 StringBuffer 的异同 SimpleDateFormat
    数字转成字母型
    nginx之206异常
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6973159.html
Copyright © 2011-2022 走看看