IOS 公共类-MyDateUtil 日期处理Util

此为处理日期的公共类。适用IOS6+

.h文件:

 #import <Foundation/Foundation.h>
//适用 IOS6+
@interface MyDateUtil //返回一个新的日期,新的日期将会只保留年月日
+(NSDate*) keepYearMonthDayWithDate:(NSDate*)oldDate;
//返回日期的年份
+(int)getYearWithDate:(NSDate *)date;
//返回日期的月份
+(int) getMonthWithDate:(NSDate*) date;
//返回日期的日份
+(int) getDayWithDate:(NSDate*) date;
//传入年月日,返回日期类型
+(NSDate*) getDateFromYear:(int)year andMonth:(int)month andDay:(int)day;
//传入一个日期的字符串,一个日期字符串的分隔符,返回日期。 默认为"/",即传入"01/05/2012"和"/",返回日期类型。 "dd/MM/yyyy" "01/05/2012"
+(NSDate*) getDateFromText:(NSString*)dateStr andDateSplit:(NSString*)split;

.m文件:

 #import <Foundation/Foundation.h>

 @implementation MyDateUtil:NSObject

 +(NSDate*) keepYearMonthDayWithDate:(NSDate*)oldDate {
NSCalendar *oldCal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *oldDateComponents = [oldCal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:oldDate]; NSDate *result = [oldCal dateFromComponents:oldDateComponents];
return result;
} +(int)getYearWithDate:(NSDate *)date {
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComp = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:date];
return dateComp.year;
} +(int) getMonthWithDate:(NSDate*) date {
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComp = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:date];
return dateComp.month;
} +(int) getDayWithDate:(NSDate*) date {
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComp = [cal components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:date];
return dateComp.day;
} +(NSDate*) getDateFromYear:(int)year andMonth:(int)month andDay:(int)day {
NSDateComponents *dateComp = [[NSDateComponents alloc] init];
dateComp.year = year;
dateComp.month = month;
dateComp.day = day;
NSCalendar *cal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *d = [cal dateFromComponents:dateComp];
return d;
} //datestr must like: "dd/MM/yyyy" "01/05/2012"
+(NSDate*) getDateFromText:(NSString*)dateStr andDateSplit:(NSString*)split{
if (!split) {
split = @"/";
}
NSArray *dateStrArr = [dateStr componentsSeparatedByString:@"/"];
return [self getDateFromYear:[[dateStrArr objectAtIndex:] intValue] andMonth:[[dateStrArr objectAtIndex:] intValue] andDay:[[dateStrArr objectAtIndex:] intValue]];
} @end

若要下载,请访问github:https://github.com/cjt321/MyDateUtil

此处保持最新更新

IOS 公共类-MyDateUtil 日期处理Util的更多相关文章

  1. IOS 公共类-MyMBProgressUtil Progress显示

    IOS 公共类-MyMBProgressUtil Progress显示 此公共类用于显示提示框,对MBProgress的进一步封装.可以看下面的代码 接口: @interface MyMBProgre ...

  2. IOS 公共类-数字处理

    1.写一个方法,调用的时候交换两个数的值 -(void) swap:(int*)a andNumber:(int*)b{ int temp = *a; *a = *b; *b = temp; } 调用 ...

  3. java常用类详细介绍及总结:字符串相关类、日期时间API、比较器接口、System、Math、BigInteger与BigDecimal

    一.字符串相关的类 1.String及常用方法 1.1 String的特性 String:字符串,使用一对""引起来表示. String声明为final的,不可被继承 String ...

  4. Java基础之一组有用的类——生成日期和时间(TryDateFormats)

    控制台程序. java.util包中含有相当多的类涉及日期和时间,包括Date类.Calendar类和GregorianCalendar类. Date类对象其实定义了精确到毫秒的时刻,从1970年1月 ...

  5. Java:日历类、日期类、数学类、运行时类、随机类、系统类

    一:Calendar类 java.util 抽象类Calendar   1.static Calendar getInstance()使用默认时区和语言环境获得一个日历. 2. int get(int ...

  6. Newtonsoft.Json高级用法 1.忽略某些属性 2.默认值的处理 3.空值的处理 4.支持非公共成员 5.日期处理 6.自定义序列化的字段名称

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

  7. IOS开发之格式化日期时间

    IOS开发之格式化日期时间(转)   在开发iOS程序时,有时候需要将时间格式调整成自己希望的格式,这个时候我们可以用NSDateFormatter类来处理. 例如: //实例化一个NSDateFor ...

  8. Mybatis包分页查询java公共类

    Mybatis包分页查询java公共类   分页----对于数据量非常大的查询中.是不可缺少的. mybatis底层的分页sql语句因为须要我们自己去手动写.而实现分页显示的时候我们须要依据分页查询条 ...

  9. Java常用类--处理日期

    Date Date类在java.util包中.使用Date类的无参数构造方法创建的对象可以获取本地当前时间.一般来说,也只使用这个.因为date的很多方法都已经不推荐使用了,所以Date的功能大大的消 ...

随机推荐

  1. C# this和base的使用

    namespace THISORBASE { //参考地址:http://blog.sina.com.cn/s/blog_7300c7d90100rs20.html /*这个时候,派生类和基类的_st ...

  2. 远程访问MySQL遇到的一些问题

    一.access deny GRANT ALL PRIVILEGES ON *.* TO '用户名'@'IP地址' IDENTIFIED BY '密码' with grant option;

  3. 【线段树】bzoj1756 Vijos1083 小白逛公园

    我们知道,求一段序列的最大子段和是O(n)的,但是这样是显然会超时的. 我们需要一个数据结构来支持修改和计算的操作,对于这种修改一个而查询区间的问题,考虑使用线段树. 在线段树中,除了左端点,右端点, ...

  4. 使用Prism6 建立 Windows 10 通用程序.

    使用Prism6 建立 Windows 10 通用程序. 目标: 使用prism6,建立Windows 通用程序项目. 1, 解决方案—添加新建项目—通用—空白应用—输入名称—确定—确定 2 ,引用上 ...

  5. 敏捷开发方法-Scrum

    为了不落后他人,于是我也开始学习Scrum,今天主要是对我最近阅读的相关资料,根据自己的理解,用自己的话来讲述Scrum中的各个环节,主要目的有两个,一个是进行知识的总结,另外一个是觉得网上很多学习资 ...

  6. linux 匹配字符串是否为数字

    #!/bin/bash ## 方法1 a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] &&a ...

  7. Codeforces #380 div2 D(729D) Sea Battle

    D. Sea Battle time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  8. 用UEFI安装ArchLinux 20140105

    为了在E431上用UEFI安装Arch一个晚上重装了5,6次系统,整整做了一个通宵,还好是周六.今天刚好有时间正好 来总结一下.因为要用UEFI来安装,所以安装了两次之后发现UEFI环境变量不可用(用 ...

  9. 看到shape文件可以加载到GOOGLE EARTH上的方法,有空可以试试

    引用 Shape文件转为KMZ并在Google Earth中显示 (1)在ArcGIS中加载一个Shape文件,笔者加载的是某个地区的道路(双线道路)图层 (2)在ArcToolbox中,依次展开Co ...

  10. android控件

    ---恢复内容开始--- (1)文字大小的类型 px.dip.sp.pt.in.mm (2)TextView控件 超链接显示 属性autoLink="all" (3)EditTex ...