以下几种方式
+ (NSDate *)dateFromString:(NSString *)dateString{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSDate *destDate= [dateFormatter dateFromString:dateString];
return destDate;
}
- (NSDate*)dateFromUnixTimestamp:(NSTimeInterval)timestamp {
return [NSDate dateWithTimeIntervalSince1970:timestamp];
}
+ (NSString*)dateAllString:(NSDate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSString *destStr= [dateFormatter stringFromDate:date];
return destStr;
}
+ (NSString*)dateString:(NSDate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy年MM月dd日"];
NSString *destStr= [dateFormatter stringFromDate:date];
return destStr;
}
+ (NSString*)dateString_0:(NSDate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"HH:mm"];
NSString *destStr= [dateFormatter stringFromDate:date];
return destStr;
}
+ (NSString*)dateString_1:(NSDate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd"];
NSString *destStr= [dateFormatter stringFromDate:date];
return destStr;
}
+ (NSString*)dateStringForMonDay:(NSDate *)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"MM.dd"];
NSString *destStr= [dateFormatter stringFromDate:date];
return destStr;
}
+ (NSDate *)dateFromHHmmStr:(NSString *)hour minus:(NSString *)min date:(NSDate *)date
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSString *dateStr=[dateFormatter stringFromDate:date];
NSString *dateMd=[dateStr substringToIndex:10];
NSString *dateFor=[NSString stringWithFormat:@"%@ %@:%@:00",dateMd,hour,min];
return [DateTransform dateFromString:dateFor];
}
+ (NSDate *)dateFromHHmmStr:(NSString *)hour minus:(NSString *)min
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat: @"yyyy-MM-dd HH:mm:ss"];
NSDate *date=[NSDate date];
NSString *dateStr=[dateFormatter stringFromDate:date];
NSString *dateMd=[dateStr substringToIndex:10];
NSString *dateFor=[NSString stringWithFormat:@"%@ %@:%@:00",dateMd,hour,min];
return [DateTransform dateFromString:dateFor];
}
+ (NSString*)dateStr6month:(NSDate *)date{//6个月前
NSDate * mydate = [NSDate date];
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = nil;
comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:mydate];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setYear:0];
[adcomps setMonth:-6];
[adcomps setDay:0];
NSDate *newdate = [calendar dateByAddingComponents:adcomps toDate:mydate options:0];
NSString *beforDate = [dateFormatter stringFromDate:newdate];
return beforDate;
}
+ (NSString*)dateStr6monthFuturn:(NSDate *)date{//6个月后
NSDate * mydate = [NSDate date];
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = nil;
comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:mydate];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setYear:0];
[adcomps setMonth:6];
[adcomps setDay:0];
NSDate *newdate = [calendar dateByAddingComponents:adcomps toDate:mydate options:0];
NSString *beforDate = [dateFormatter stringFromDate:newdate];
return beforDate;
}
+ (NSString*)dateStr1Year:(NSDate *)date{//1年前
NSDate * mydate = [NSDate date];
NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDateComponents *comps = nil;
comps = [calendar components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:mydate];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setYear:-1];
[adcomps setMonth:0];
[adcomps setDay:0];
NSDate *newdate = [calendar dateByAddingComponents:adcomps toDate:mydate options:0];
NSString *beforDate = [dateFormatter stringFromDate:newdate];
return beforDate;
}
//时间差1970年开始
+(NSTimeInterval)intervalSince1970Date1:(NSDate *)date1 Date2:(NSDate *)date2
{
NSTimeInterval time1=[date1 timeIntervalSince1970]*1;
NSTimeInterval time2=[date2 timeIntervalSince1970]*1;
return time1-time2;
}
//判断字符串时间格式是否正确(只能类似2015-02-06或者2015/02/03,后面没有时分秒的)
+(BOOL)WhetherItIsRightTimefromString:(NSString *)dateString{
NSString *str=[NSString stringWithFormat:@"%@ 00:00:00",dateString];
NSDate *date=[DateTransform dateFromString:str];
if (date) {
return YES;
}else{
return NO;
}
}
//拼接完整的时间
+(NSDate *)appendCompleteTime:(NSString *)dateString{
NSString *str=[NSString stringWithFormat:@"%@ 00:00:00",dateString];
NSDate *date=[DateTransform dateFromString:str];
return date;
}
//判断星期几的
+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate{
NSArray *weekdays = [NSArray arrayWithObjects: [NSNull null], @"Sunday", @"周一", @"周二", @"周三", @"周四", @"周五", @"周六", nil];
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSTimeZone *timeZone = [[NSTimeZone alloc] initWithName:@"Asia/Shanghai"];
[calendar setTimeZone: timeZone];
NSCalendarUnit calendarUnit = NSWeekdayCalendarUnit;
NSDateComponents *theComponents = [calendar components:calendarUnit fromDate:inputDate];
return [weekdays objectAtIndex:theComponents.weekday];
}