代码:

#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

【代码笔记】iOS-和当前时间比较的更多相关文章

  1. 【代码笔记】iOS-两个时间字符串的比较

    一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...

  2. 【代码笔记】iOS-提醒时间的选择

    一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...

  3. 【代码笔记】iOS-后台运行,可以选择在前台或后台或前后台

    一,工程图. 二,代码. AppDelegate.h AppDelegate.m RootViewController.h #import <UIKit/UIKit.h> @interfa ...

  4. 【hadoop代码笔记】hadoop作业提交之汇总

    一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...

  5. 笔记-iOS 视图控制器转场详解(上)

    这是一篇长文,详细讲解了视图控制器转场的方方面面,配有详细的示意图和代码,为了使得文章在微信公众号中易于阅读,seedante 辛苦将大量长篇代码用截图的方式呈现,另外作者也在 Github 上附上了 ...

  6. IOS开发笔记 IOS如何访问通讯录

    IOS开发笔记  IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...

  7. <Python Text Processing with NLTK 2.0 Cookbook>代码笔记

    如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...

  8. 前端学习:JS(面向对象)代码笔记

    前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...

  9. Swift3.0 iOS获取当前时间 - 年月日时分秒星期

    Swift3.0 iOS获取当前时间 - 年月日时分秒星期func getTimes() -> [Int] { var timers: [Int] = [] // 返回的数组 let calen ...

随机推荐

  1. PHP的反射机制

    在面向对象中最经典的使用就是反射,之前在Java语言中,使用反射可以解耦,用于依赖注入. 在PHP中,同样也有如此强大的地方,我们利用反射来获取一个对象的实例. 首先我们先写一个类: class Te ...

  2. .Net Task<T>的一种比较神奇的卡死情况(Wait/Result卡死, await能得到结果)

    出现的环境.Net4.0 + WebApi1(4.0.30506.0) + Microsoft.Bcl.Async.1.0.168 自己死活看不出原因, 分享出来给大家看看,希望有人能找到问题的关键 ...

  3. 如果你恨一个程序员,忽悠他去做iOS开发

    如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼, ...

  4. AChartEngine绘制图形

    AChartEngine是Android作图的方法之一,要使用AChartEngine,首先下载AChartEngine,按照以下方法将其jar包添加到工程中: 1.将achartengine-1.1 ...

  5. 【Java每日一题】20161116

    package Nov2016; public class Ques1116 { public static void main(String[] args){ System.out.println( ...

  6. jdk1.6与Myeclipse的冲突造成的

    出现这样的错误时:ERROR:JDWP   Unable   to   get   JNI   1.2   environment   ,jvm-> GetEvn()   return   =- ...

  7. JavaMail API 详细分解

    在使用Spring框架的过程中,它的优势之一就是在于跟其他一些技术的整合,如JavaMail .任务调度.缓存策略等技术.今天就Java Mail详细阐述.JavaMail API是被设计为与协议无关 ...

  8. linux 如何改变文件属性与权限

    我们知道档案权限对于一个系统的安全重要性,也知道档案的权限对于使用者与群组的相关性, 那如何修改一个档案的属性与权限呢? 我们这里介绍几个常用于群组.拥有者.各种身份的权限的指令.如下所示: chgr ...

  9. java集合-集合大家族

    在编写 Java 程序中,我们最常用的除了八种基本数据类型,String 对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!Java 中集合大家族的成员实在是太丰富了,有常用的 Array ...

  10. ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint......

    今天用Hibernate建立外键的时候发现没有建立 但是创建了这个字段 情景: user表有一字段role,role是role表id字段的外键 原因: user表中已经有记录了,而且有的记录role这 ...