NSDate使用
2016-06-13 21:42
246 查看
//获取当前日期,时间
+(NSDate *)getCurrentDate{
NSDate *now = [NSDate date];
return now;
}
//将日期转换为字符串(日期,时间)
+(NSString *)getDateStringFromDate:(NSDate *)date{
NSInteger location = 0;
NSString *timeStr = @"";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[formatter setDateFormat:@"HH:mm:a"];
NSString *ampm = [[[formatter stringFromDate:date] componentsSeparatedByString:@":"] objectAtIndex:2];
timeStr = [formatter stringFromDate:date];
NSRange range = [timeStr rangeOfString:[NSString stringWithFormat:@":%@",ampm]];
location = range.location;
NSString *string = [timeStr substringToIndex:location];
timeStr = [NSString stringWithFormat:@"%@ %@",ampm,string];
NSString *dateStr = @"";
NSDateFormatter *Dformatter = [[NSDateFormatter alloc] init];
[Dformatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[Dformatter setDateFormat:@"yyyy-MM-dd"];
dateStr = [Dformatter stringFromDate:date];
return [NSString stringWithFormat:@"%@ %@",dateStr,timeStr];
}
//计算两个日期之间的差距,过了多少天。。
+(NSInteger)getDateToDateDays:(NSDate *)date withSaveDate:(NSDate *)saveDate{
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar ];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;
NSDateComponents *cps = [ chineseClendar components:unitFlags fromDate:date toDate:saveDate options:0];
NSInteger diffDay = [ cps day ];
return diffDay;
}
例:NSDate *lastDate = [self getSaveDate];//saveDate通过将NSDate转换为NSString来保存
currentDate = [NSDate date];
NSInteger day = [DateHelper getDateToDateDays:currentDate withSaveDate: lastDate];
//日期转字符串
+ (NSString * )NSDateToNSString: (NSDate * )date {
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [formatter stringFromDate:date];
return dateString;
}
//字符串转日期
+ (NSDate * )NSStringToNSDate: (NSString * )string {
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat: kDEFAULT_DATE_TIME_FORMAT];
NSDate *date = [formatter dateFromString :string];
return date;
}
//1970年到现在的秒数转换成时间显示
- (NSString *)bySecondGetDate:(NSString *)second{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
NSString *dateLoca = [NSString stringWithFormat:@"%@",second];
NSTimeInterval time=[dateLoca doubleValue];
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
NSString *timestr = [formatter stringFromDate:detaildate];
return timestr;
}
+(NSDate *)getCurrentDate{
NSDate *now = [NSDate date];
return now;
}
//将日期转换为字符串(日期,时间)
+(NSString *)getDateStringFromDate:(NSDate *)date{
NSInteger location = 0;
NSString *timeStr = @"";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[formatter setDateFormat:@"HH:mm:a"];
NSString *ampm = [[[formatter stringFromDate:date] componentsSeparatedByString:@":"] objectAtIndex:2];
timeStr = [formatter stringFromDate:date];
NSRange range = [timeStr rangeOfString:[NSString stringWithFormat:@":%@",ampm]];
location = range.location;
NSString *string = [timeStr substringToIndex:location];
timeStr = [NSString stringWithFormat:@"%@ %@",ampm,string];
NSString *dateStr = @"";
NSDateFormatter *Dformatter = [[NSDateFormatter alloc] init];
[Dformatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]];
[Dformatter setDateFormat:@"yyyy-MM-dd"];
dateStr = [Dformatter stringFromDate:date];
return [NSString stringWithFormat:@"%@ %@",dateStr,timeStr];
}
//计算两个日期之间的差距,过了多少天。。
+(NSInteger)getDateToDateDays:(NSDate *)date withSaveDate:(NSDate *)saveDate{
NSCalendar* chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar ];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit |
NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;
NSDateComponents *cps = [ chineseClendar components:unitFlags fromDate:date toDate:saveDate options:0];
NSInteger diffDay = [ cps day ];
return diffDay;
}
例:NSDate *lastDate = [self getSaveDate];//saveDate通过将NSDate转换为NSString来保存
currentDate = [NSDate date];
NSInteger day = [DateHelper getDateToDateDays:currentDate withSaveDate: lastDate];
//日期转字符串
+ (NSString * )NSDateToNSString: (NSDate * )date {
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSString *dateString = [formatter stringFromDate:date];
return dateString;
}
//字符串转日期
+ (NSDate * )NSStringToNSDate: (NSString * )string {
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat: kDEFAULT_DATE_TIME_FORMAT];
NSDate *date = [formatter dateFromString :string];
return date;
}
//1970年到现在的秒数转换成时间显示
- (NSString *)bySecondGetDate:(NSString *)second{
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy年MM月dd日 HH:mm:ss"];
NSString *dateLoca = [NSString stringWithFormat:@"%@",second];
NSTimeInterval time=[dateLoca doubleValue];
NSDate *detaildate=[NSDate dateWithTimeIntervalSince1970:time];
NSString *timestr = [formatter stringFromDate:detaildate];
return timestr;
}
相关文章推荐
- 网络协议分析
- OSPF中LSA主要的5种类型
- Java编译时异常和运行时异常
- 手机开发实战178——NUCLEUS介绍2
- easyfinding(codevs 3280)
- 数据结构与算法之九 树结构
- 数据结构与算法之九 树结构
- 数据结构与算法之九 树结构
- sha512散列(C语言)
- Linux下切换capslock和control键
- 在wamp的环境下配置虚拟域名
- 删除单链表指定元素
- 程序自动分析 [Bzoj 4195,Noi 2015]
- 电影《小萝莉的猴神大叔》
- 手机开发实战177——NUCLEUS介绍1
- 《程序员的呐喊》读书笔记(一)
- struts的ognl的应用实例
- 分享我收集的引擎、图形学、WebGL方面的电子资料
- sha1散列(C语言)
- SQLServer查询操作