码迷,mamicode.com
首页 > 其他好文 > 详细

【代码笔记】和当前时间比较

时间:2016-03-17 09:36:33      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:

代码:

技术分享
#import "RootViewController.h"

@interface RootViewController ()

@end

@implementation RootViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
 
    //获得指定日期的格式
    NSLog(@"---%@----",[self changeTheDate:@"2013-04-18" ByDateType:@"yyyy-M-dd"]);
    //星期几
    NSLog(@"---%@---",[self getTheWeekDay:@"2013-04-18"]);
    
    //一年的第几周,每周的第几天,比较两天是不是同一个星期
    NSDate* today = [NSDate date];
    NSLog(@"--%ld---",(long)[self didWeekOfYear:today]);
    NSLog(@"---%ld---",(long)[self didWeekDay:today]);
    NSLog(@"---%ld---",(long)[self didSameWeek:today date:today]);
    
    
}
#pragma -mark -获得指定日期的格式
/*获得指定的日期格式
 
 paramDate:日期的字符串表示:“2013-04-18”
 paramDateType:要转化的日期格式:“yyyy-M-dd”
 
 */
- (NSString *)changeTheDate:(NSString *)paramDate ByDateType:(NSString *)paramDateType{
    // 将日期转化为需要的格式 yyyy-MM-dd 转化为 yyyy-M-dd
    
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd"];
    NSDate *tempDate = [dateFormatter dateFromString:paramDate];
    [dateFormatter setDateFormat:paramDateType];
    
    
    NSString *theDate= [dateFormatter stringFromDate:tempDate];
    NSString *result=[[NSString alloc] initWithString:theDate] ;
    return result;
    
}
#pragma -mark -星期几
/*星期几*/
- (NSString *)getTheWeekDay:(NSString *)paramDate{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-M-dd"];
    NSDate *theDate= [dateFormatter dateFromString:paramDate];
    
    NSString *result=nil;
    
    NSInteger theWeek=[self didWeekDay:theDate];
    switch (theWeek) {
        case 1:
            result=@"星期日";
            break;
        case 2:
            result=@"星期一";
            break;
        case 3:
            result=@"星期二";
            break;
        case 4:
            result=@"星期三";
            break;
        case 5:
            result=@"星期四";
            break;
        case 6:
            result=@"星期五";
            break;
        case 7:
            result=@"星期六";
            break;
            
        default:
            break;
    }
    return result;
    
    
    
    
}
#pragma -mark -每周的第几天
//取当前时间是星期几
- (NSInteger) didWeekDay:(NSDate*)date
{
    NSCalendar *gregorian = [[NSCalendar alloc]
                             initWithCalendarIdentifier:NSGregorianCalendar];
    NSDateComponents *weekdayComponents = [gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit) fromDate:date];
    NSInteger tempweekday = [weekdayComponents weekday];
    return tempweekday;
}
#pragma -mark -每年的第几周
//取当前时间是每年中的第几周
- (NSInteger) didWeekOfYear:(NSDate*)date
{
    NSInteger unitFlags = NSWeekOfYearCalendarUnit;
    NSCalendar *gregorian = [NSCalendar currentCalendar];
    NSDateComponents *weekdayComponents = [gregorian components:unitFlags fromDate:date];
    NSInteger weekOfYear = [weekdayComponents weekOfYear];
    return weekOfYear;
    
}
#pragma -mark -判断是不是一个星期
//判断是不是同一个星期
- (BOOL) didSameWeek:(NSDate*)date1 date:(NSDate*)date2
{
    
    NSInteger week1 = [self didWeekOfYear:date1];
    NSInteger week2 = [self didWeekOfYear:date2];
    
    return week1 == week2;
}
@end
技术分享

 

【代码笔记】和当前时间比较

标签:

原文地址:http://www.cnblogs.com/yang-guang-girl/p/5286041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!