1.类目为系统内部的类或者是没有源代码的类添加方法,不有添加实例变量

2.添加的方法会成为原类的一部分,子类照样可以使用

3.类目的文件名为原类名+文件名

4.既可以添加实例方法,也可以添加类方法

Xcode工程下;

1 command + N 新建

2 选择 Objectiove-C File

3 File:  设置新建的类的名字; File  Type:Category(选择) Class:(选择具体要创建的类名)

//关于日期的一些设置:

//NSDate 这个类 是Foundation框架中表示日期的类

//获取当前时间,打印信息包含,年月日 时分秒 以及时区。零时区时间

NSDate *nowDate = [NSDate date];

NSLog(@"nowDate is %@",nowDate);

//获取明天当天的时间

NSDate *tomorrow = [NSDate dateWithTimeInterval:24*60*60 sinceDate:nowDate];

NSLog(@"tomorrow is %@",tomorrow);

NSTimeInterval seconds = [nowDate timeIntervalSinceDate:tomorrow];

NSLog(@"%.2f",seconds);//一年一共的秒数

NSTimeInterval time = [nowDate timeIntervalSince1970];

NSLog(@"%.2f",time);

//NSDateComponentsFormatter 创建日期格式类,作用是 将NSDate对象 与 NSString 对象 互转

//1 创建一个 日期格式的对象

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

//2 设置转化格式

/*

1 y 年

2 M 月

3 d 日

4 H 24小时 h(am/pm 12小时)

5 m 分

6 s 秒

*/

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

//使用日期格式对象 完成转换

//1 将日期对象转化为字符串对象

NSString *str = [dateFormatter stringFromDate:nowDate];//日期型转化为字符型

NSLog(@"str is %@",str);

NSLog(@"----1");

//2 将字符串转化为对象

NSDate *date = [dateFormatter dateFromString:@"2016-01-01 11:11:33"];

NSLog(@"date is %@",date);

//此方法是把 日期类型的数据转化为  字符串类型

+ (NSString *)stringWithDate:(NSDate *)date formatter:(NSString *)formatter{

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

[dateFormatter setDateFormat:formatter];//设置日期格式

NSString *string = [dateFormatter stringFromDate:date];//日期型转化为字符型

return string;

}

//此方法是把字符串类型的数据  转化为日期类型的数据

+ (NSDate *)dateWithDateStringT:(NSString *)string{

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

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//必须有的步骤创建格式

NSDate *date = [dateFormatter dateFromString:string];

return date;

}

//字符串转化为日期,并且字 符串的格式 可以灵活使用 在外部写

+ (NSDate *)dateWithDateString:(NSString *)string formatter:(NSString *)formatter{    //类方法

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

[dateFormatter setDateFormat:formatter];//必须有的步骤..灵活的使用

NSDate *date = [dateFormatter dateFromString:string];

return date;

}

Objective - C - 添加类目 - NSDate的更多相关文章

  1. Runtime学习与使用(一):为UITextField添加类目实现被键盘遮住后视图上移,点击空白回收键盘

    OC中类目无法直接添加属性,可以通过runtime实现在类目中添加属性. 在学习的过程中,试着为UITextField添加了一个类目,实现了当TextField被键盘遮住时视图上移的功能,顺便也添加了 ...

  2. ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order

    如果在ECshop后台批量添加过大量类目的人都能体会到是多么的不方便(这点还是要说一下ECshop的产品经理,细节上还是要多注意),每次添加都需要在几百个类目里面找到要添加的父类目也是一个麻烦事,比如 ...

  3. iOS类目、延展和协议

    类目:为已知的类增加新的方法:注意:类目里面只能写方法,不能写声明和属性,所以,类目不能作为接口来用 1.类目无法向已有类中添加实例变量.2.如果类目中的方法和已有类中的方法名称冲突时,类目中的方法优 ...

  4. objective-c 类目(Category)和延展(Extension)

    类目的基本概念: 如果有封装好的一个类,随着程序功能的增加,需要在类中增加一个方法,那我们就不必在那个类中做修改或者再定义一个子类,只需要在用到那个方法时添加一个该类的类目即可. 1.在类目定义的方法 ...

  5. 使用runtime关联对象将视图添加到视图的类目里

    //get方法 - (RJCircularLoaderView*)rj_circularLoaderView { RJCircularLoaderView *loaderView = objc_get ...

  6. 01 《i》控制字体大小 v-for循环绑定类名 v-bind 结合三目运算 动态添加类

    1==>控制字体图标的大小用 font-size:16px; <i class="el-icon-arrow-left right-show-aside-icon"&g ...

  7. Objective-C中的类目,延展,协议

    Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...

  8. OC中协议, 类目, 时间, 延展, 属性

    只有继承和协议需要引IMPORT "头文件"; 必须接受marryprotocol协议, id<marryprotocol>基于类型的限定, 才能给实例变量赋值 @pr ...

  9. iOS -类目,延展,协议

    1.类目 类目就是为已存在的类添加新的方法.但是不能添加实例变量.比如系统的类,我们看不到他的.m文件,所以没有办法用直接添加方法的方式去实现. @interface NSMutableArray ( ...

随机推荐

  1. VBS 获取当前进程 ID

    Function CurrProcessId Dim oShell, sCmd, oWMI, oChldPrcs, oCols, lOut lOut = Set oShell = CreateObje ...

  2. C#中dynamic的正确用法

    C#中dynamic的正确用法  http://www.cnblogs.com/qiuweiguo/archive/2011/08/03/2125982.html dynamic是FrameWork4 ...

  3. MYCAT 安装(转)

    1.安装JAVA环境JDK 基于JAVA开发,所以需要安装JDK 2.下载安装Mycat https://github.com/MyCATApache/Mycat-download 本次安装1.5版本 ...

  4. 关于synchronized 影响可见性的问题

    问题来自于学习thinking in java的时候的一个示例,先上代码吧 public class StopThread { private static boolean stop = false; ...

  5. jQuery EasyUI:根据数据库内容生成适合于easyui-tree的JSON数据格式

    1,jQuery EasyUI中easyui-tree特定的JSON数据格式 [ {"id":1,"text":"某公司","ch ...

  6. 【java】之对List中每个对象元素按时间顺序排序

    import java.text.SimpleDateFormat; import java.util.*; public class ListSort { public static class U ...

  7. 建立一套完整的Maven依赖工程步骤,包含WEB工程

    建立Java Web工程:File -> New -> other… -> Web -> Dynamic Web Project,abs-inf选中该工程右键 -> co ...

  8. 在Eclipse中使用JUnit4进行单元测试(高级篇)

    通过前2篇文章,您一定对JUnit有了一个基本的了解,下面我们来探讨一下JUnit4中一些高级特性. 一.高级Fixture 上一篇文章中我们介绍了两个Fixture标注,分别是@Before和@Af ...

  9. 虚拟机拷贝后网卡eth0变成了eth1的解决办法

    一.修改/etc/udev/rules.d/70-persistent-net.rules文件 将之前的eth0那行删了,将eth1改为eth0 二.配置ifcfg-eth0脚本,注意HWADDR那行 ...

  10. spring中订阅redis键值过期消息通知

    1.首先启用redis通知功能(ubuntu下操作):编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知): notify-keyspace-events Ex 或者登陆 ...