123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- //
- // NSDate+Additions.m
- // KHealth
- //
- //
- #import "NSDate+Additions.h"
- @implementation NSDate (Additions)
- +(NSDateFormatter *)dateFormatter2{
- static NSDateFormatter *dateFormatter2 = nil;
- if (dateFormatter2 == nil) {
- dateFormatter2 = [NSDateFormatter new];
- [dateFormatter2 setDateFormat:[NSString stringWithFormat:@"yyyy-MM-dd"]];
- [dateFormatter2 setLocale:[NSLocale currentLocale]];
- }
- return dateFormatter2;
- }
- -(NSString *)dateString{
- static NSDateFormatter *dateFormatter = nil;
- if (dateFormatter == nil) {
- dateFormatter = [NSDateFormatter new];
- [dateFormatter setDateFormat:[NSString stringWithFormat:@"yyyy.MM.dd"]];
- [dateFormatter setLocale:[NSLocale currentLocale]];
- }
- return [dateFormatter stringFromDate:self];
- }
- -(NSString *)dateString2{
- return [[NSDate dateFormatter2] stringFromDate:self];
- }
- -(NSString *)dateTimeString{
- static NSDateFormatter *dateTimeFormatter = nil;
- if (dateTimeFormatter == nil) {
- dateTimeFormatter = [NSDateFormatter new];
- [dateTimeFormatter setDateFormat:[NSString stringWithFormat:@"yyyy.MM.dd HH:mm"]];
- [dateTimeFormatter setLocale:[NSLocale currentLocale]];
- }
- return [dateTimeFormatter stringFromDate:self];
-
- }
- -(NSString *)dateTimeString2{
- static NSDateFormatter *dateTimeFormatter2 = nil;
- if (dateTimeFormatter2 == nil) {
- dateTimeFormatter2 = [NSDateFormatter new];
- [dateTimeFormatter2 setDateFormat:[NSString stringWithFormat:@"yyyy-MM-dd HH:mm"]];
- [dateTimeFormatter2 setLocale:[NSLocale currentLocale]];
- }
- return [dateTimeFormatter2 stringFromDate:self];
-
- }
- -(NSString *)shortDateString{
- static NSDateFormatter *shortDateFormatter = nil;
- if (shortDateFormatter == nil) {
- shortDateFormatter = [NSDateFormatter new];
- [shortDateFormatter setDateFormat:[NSString stringWithFormat:@"MM.dd"]];
- [shortDateFormatter setLocale:[NSLocale currentLocale]];
- }
- return [shortDateFormatter stringFromDate:self];
-
- }
- -(NSString *)shortDateTimeString{
- static NSDateFormatter *shortDatetimeFormatter = nil;
- if (shortDatetimeFormatter == nil) {
- shortDatetimeFormatter = [NSDateFormatter new];
- [shortDatetimeFormatter setDateFormat:[NSString stringWithFormat:@"M月d日 H:mm"]];
- [shortDatetimeFormatter setLocale:[NSLocale currentLocale]];
- }
- return [shortDatetimeFormatter stringFromDate:self];
-
- }
- -(NSString *)shortTimeString{
- static NSDateFormatter *shortTimeFormatter = nil;
- if (shortTimeFormatter == nil) {
- shortTimeFormatter = [NSDateFormatter new];
- [shortTimeFormatter setDateFormat:[NSString stringWithFormat:@"HH:mm"]];
- [shortTimeFormatter setLocale:[NSLocale currentLocale]];
- }
- return [shortTimeFormatter stringFromDate:self];
-
- }
- -(NSString *)longTimeString{
- static NSDateFormatter *longTimeFormatter = nil;
- if (longTimeFormatter == nil) {
- longTimeFormatter = [NSDateFormatter new];
- [longTimeFormatter setDateFormat:[NSString stringWithFormat:@"HH:mm:ss"]];
- [longTimeFormatter setLocale:[NSLocale currentLocale]];
- }
- return [longTimeFormatter stringFromDate:self];
-
- }
- -(long long)milseconds{
- NSTimeInterval timeInteval = [self timeIntervalSince1970]*1000;
- return [[NSNumber numberWithDouble:timeInteval] longLongValue];
- }
- +(NSDate *)dateFromYYYYMMDD:(NSString *)dateString{
- return [[self dateFormatter2] dateFromString:dateString];
- }
- +(NSDate *)dateWithYear:(int)year{
- NSCalendar *calendar = [NSCalendar currentCalendar];
- NSDateComponents *components = [calendar components:(NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit) fromDate:[NSDate date]];
- [components setYear:year];
- return [calendar dateFromComponents:components];
- }
- + (NSString *) getTimeDiffString:(NSDate *) temp
- {
-
- NSCalendar *cal = [NSCalendar currentCalendar];
- NSDate *today = [NSDate date];//当前时间
- unsigned int unitFlag = NSDayCalendarUnit | NSHourCalendarUnit |NSMinuteCalendarUnit;
- NSDateComponents *gap = [cal components:unitFlag fromDate:today toDate:temp options:0];//计算时间差
-
- if (ABS([gap day]) > 0)
- {
- return [NSString stringWithFormat:@"%@",[temp shortDateTimeString]];
- // return [NSString stringWithFormat:@"%d天前", ABS([gap day])];
- }else if(ABS([gap hour]) > 0)
- {
- return [NSString stringWithFormat:@"%d小时前", ABS([gap hour])];
- }else{
- if (ABS([gap minute])==0) {
- return [NSString stringWithFormat:@"刚刚"];
- }
- return [NSString stringWithFormat:@"%d分钟前", ABS([gap minute])];
- }
- }
- @end
|