在网上看到了一些ios中可能会常用的日期处理
2017-09-27 10:01
411 查看
//获取
当前月的下一月,上一月
- (void)setupRequestMonth
{
NSDate *currentDate = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateFormat:@"yyyy-MM"];
NSCalendar *calendar = [[NSCalendar
alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *lastMonthComps = [[NSDateComponents
alloc] init];
// [lastMonthComps setYear:1]; // year = 1表示1年后的时间 year = -1为1年前的日期,month
day 类推
[lastMonthComps setMonth:-1];
NSDate *newdate = [calendar
dateByAddingComponents:lastMonthComps
toDate:currentDate options:0];
NSString *dateStr = [formatter
stringFromDate:newdate];
NSLog(@"date str = %@", dateStr);
}
//通过指定日期获取
当月 月初和月末的两天
- (NSArray *)getMonthFirstAndLastDayWith:(NSString *)dateStr{
NSDateFormatter *format=[[NSDateFormatter
alloc] init];
[format setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
NSDate *newDate=[format
dateFromString:dateStr];
double interval =
0;
NSDate *firstDate =
nil;
NSDate *lastDate =
nil;
NSCalendar *calendar = [NSCalendar
currentCalendar];
BOOL OK = [calendar
rangeOfUnit:NSCalendarUnitMonth
startDate:& firstDate interval:&interval
forDate:newDate];
if (OK) {
lastDate = [firstDate
dateByAddingTimeInterval:interval -
1];
}else {
return
@[@"",@""];
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter
alloc] init];
[myDateFormatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
NSString *firstString = [myDateFormatter
stringFromDate: firstDate];
NSString *lastString = [myDateFormatter
stringFromDate: lastDate];
NSLog(@"first%@----PPPP",firstString);
NSLog(@"last%@-----OOOOO",lastString);
return
@[firstString, lastString];
}
//测试
相减一天的处理
- (BOOL)isSameNoDay:(NSDate*)date1 date2:(NSDate*)date2
{
NSCalendar* calendar = [NSCalendar
currentCalendar];
unsigned unitFlags =
NSYearCalendarUnit | NSMonthCalendarUnit |
NSDayCalendarUnit;
NSDateComponents* comp1 = [calendar
components:unitFlags fromDate:date1];
NSDateComponents* comp2 = [calendar
components:unitFlags fromDate:date2];
return [comp1
day]+1
== [comp2 day] &&
[comp1 month] == [comp2
month] &&
[comp1 year]
== [comp2 year];
}
//获取日期的字符串
-(NSStrin
b0ee
g*)getDataStr{
NSDate *date = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return [formatter
stringFromDate:date];
}
//获取指定日期的字符串
-(NSString*)getDataStrByDate:(NSDate*)date{
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return [formatter
stringFromDate:date];
}
//获取当前日期
-(NSDate*)getData{
NSDate *date = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return date;
}
当前月的下一月,上一月
- (void)setupRequestMonth
{
NSDate *currentDate = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateFormat:@"yyyy-MM"];
NSCalendar *calendar = [[NSCalendar
alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *lastMonthComps = [[NSDateComponents
alloc] init];
// [lastMonthComps setYear:1]; // year = 1表示1年后的时间 year = -1为1年前的日期,month
day 类推
[lastMonthComps setMonth:-1];
NSDate *newdate = [calendar
dateByAddingComponents:lastMonthComps
toDate:currentDate options:0];
NSString *dateStr = [formatter
stringFromDate:newdate];
NSLog(@"date str = %@", dateStr);
}
//通过指定日期获取
当月 月初和月末的两天
- (NSArray *)getMonthFirstAndLastDayWith:(NSString *)dateStr{
NSDateFormatter *format=[[NSDateFormatter
alloc] init];
[format setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
NSDate *newDate=[format
dateFromString:dateStr];
double interval =
0;
NSDate *firstDate =
nil;
NSDate *lastDate =
nil;
NSCalendar *calendar = [NSCalendar
currentCalendar];
BOOL OK = [calendar
rangeOfUnit:NSCalendarUnitMonth
startDate:& firstDate interval:&interval
forDate:newDate];
if (OK) {
lastDate = [firstDate
dateByAddingTimeInterval:interval -
1];
}else {
return
@[@"",@""];
}
NSDateFormatter *myDateFormatter = [[NSDateFormatter
alloc] init];
[myDateFormatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
NSString *firstString = [myDateFormatter
stringFromDate: firstDate];
NSString *lastString = [myDateFormatter
stringFromDate: lastDate];
NSLog(@"first%@----PPPP",firstString);
NSLog(@"last%@-----OOOOO",lastString);
return
@[firstString, lastString];
}
//测试
相减一天的处理
- (BOOL)isSameNoDay:(NSDate*)date1 date2:(NSDate*)date2
{
NSCalendar* calendar = [NSCalendar
currentCalendar];
unsigned unitFlags =
NSYearCalendarUnit | NSMonthCalendarUnit |
NSDayCalendarUnit;
NSDateComponents* comp1 = [calendar
components:unitFlags fromDate:date1];
NSDateComponents* comp2 = [calendar
components:unitFlags fromDate:date2];
return [comp1
day]+1
== [comp2 day] &&
[comp1 month] == [comp2
month] &&
[comp1 year]
== [comp2 year];
}
//获取日期的字符串
-(NSStrin
b0ee
g*)getDataStr{
NSDate *date = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return [formatter
stringFromDate:date];
}
//获取指定日期的字符串
-(NSString*)getDataStrByDate:(NSDate*)date{
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return [formatter
stringFromDate:date];
}
//获取当前日期
-(NSDate*)getData{
NSDate *date = [NSDate
date];
NSDateFormatter *formatter = [[NSDateFormatter
alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeStyle:NSDateFormatterShortStyle];
[formatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
return date;
}
相关文章推荐
- 网上看到的jsp操作excel和日期提醒的一些东西
- iOS开发,常用的一些模块:日历、日期选择、CollectionView等的测试
- 一些常用日期处理代码
- 一些常用日期处理代码
- iOS中时间/日期处理NSDate的常用接口操作
- 网上看到了一些ios面试题,看着解答解答
- C#常用的一些日期处理方法
- iOS 日期处理 (Swift3.0 NSDate)
- asp.net(C#)常用时间日期处理类
- 自己在看到网上一些table数据导出excel,自己为自己记录一下以免以后需要
- 关于机器学习中文本处理的一些常用方法
- python的一些日期处理方法(工具)
- 使用dom4j来处理xml的一些常用方法
- IOS时间戳合集,处理日期的功能方法
- MS SQL Server中對日期的一些常用處理——持續更新
- IOS时间与日期处理
- iOS捕获异常,常用的异常处理方法 try-catch-finally
- IOS 时区日期处理及定时 (NSDate,NSCalendar,NSTimer,NSTimeZone)
- java日期处理的一些总结
- 一些常用类的总结(日期方面的,math方面的,比较器)