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

#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-和当前时间比较的更多相关文章
- 【代码笔记】iOS-两个时间字符串的比较
一,效果图. 二,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the ...
- 【代码笔记】iOS-提醒时间的选择
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- 【代码笔记】iOS-后台运行,可以选择在前台或后台或前后台
一,工程图. 二,代码. AppDelegate.h AppDelegate.m RootViewController.h #import <UIKit/UIKit.h> @interfa ...
- 【hadoop代码笔记】hadoop作业提交之汇总
一.概述 在本篇博文中,试图通过代码了解hadoop job执行的整个流程.即用户提交的mapreduce的jar文件.输入提交到hadoop的集群,并在集群中运行.重点在代码的角度描述整个流程,有些 ...
- 笔记-iOS 视图控制器转场详解(上)
这是一篇长文,详细讲解了视图控制器转场的方方面面,配有详细的示意图和代码,为了使得文章在微信公众号中易于阅读,seedante 辛苦将大量长篇代码用截图的方式呈现,另外作者也在 Github 上附上了 ...
- IOS开发笔记 IOS如何访问通讯录
IOS开发笔记 IOS如何访问通讯录 其实我是反对这类的需求,你说你读我的隐私,我肯定不愿意的. 幸好ios6.0 以后给了个权限控制.当打开app的时候你可以选择拒绝. 实现方法: [plain] ...
- <Python Text Processing with NLTK 2.0 Cookbook>代码笔记
如下是<Python Text Processing with NLTK 2.0 Cookbook>一书部分章节的代码笔记. Tokenizing text into sentences ...
- 前端学习:JS(面向对象)代码笔记
前端学习:JS(面向对象)代码笔记 前端学习:JS面向对象知识学习(图解) 创建类和对象 创建对象方式1调用Object函数 <body> </body> <script ...
- Swift3.0 iOS获取当前时间 - 年月日时分秒星期
Swift3.0 iOS获取当前时间 - 年月日时分秒星期func getTimes() -> [Int] { var timers: [Int] = [] // 返回的数组 let calen ...
随机推荐
- StreamHelper
public static MemoryStream CreateMemoryStreamFromBytes(byte[] inputData) { if (inputData == null || ...
- [python IDE] 舒服的pycharm设置
个人使用的IDE有国产的ulipad,sublime text 3 ,或者vs集成下的,不过讲到好用跨平台,还真是只有pycharm 写python最舒服,一个是因为有社区版,免费,不存在版权问题,另 ...
- html5的canvas绘制迷宫地图
canvas标签一直是html5的亮点,用它可以实现很多东西.我想用它来绘画像迷宫那样的地图.借助到的工具有瓦片地图编辑器tiled(点击跳转到下载链接). 如图:如果你想要画像这样的迷宫地图,如果不 ...
- javascript日期验证:填写的日期大于等于当前日期
<script> $(function () { var d = new Date(); var strDate = getDateStr(d); $("#beginTime&q ...
- MVC 4.0 学习中遇到的bug
1.0 _ViewStart.cshtml _ViewStart.cshtml 里面的如果写了 <script src="/Scripts/jquery-1.8.2.js" ...
- 新学C++的for,switch和随机数
通过一个小程序学习: #include<iostream> #include<cstdlib> #include<ctime> using namespace st ...
- vs2010 用户控件拖到aspx页面不可用
错误描述: 在web项目中添加一个用户控件,直接拖动用户控件ascx到aspx页面出现a标签而不是控件标签 解决办法: 把“源”切换为“设计”视图,然后拖动ascx用户控件到页面即可:
- easyui-layout 布局自适应
最近在把以前写的一个项目改成用easyui做前端.过程中遇到了不少问.其中一个就是datagrid不能很好的布.想了好多办法都有局限.最后想到会不会是布局的问题,经过实,最后问题解. 1:比如在项目中 ...
- C语言Scanf函数
C语言的scanf函数 一.变量的内存分析 (一)字节与地址 ①. 内存以字节为单位 每个字节都有自己的内存地址,根据地址就可以找到该字节.整个内存相当于一整个酒店,而酒店以房间为单位,在这里每个房间 ...
- JAVA JDK的动态代理反射实现
动态代理类使用到了一个接口InvocationHandler和一个代理类Proxy ,这两个类配合使用实现了动态代理的功能. 什么是动态代理呢? 普通代理类是指: 给每个具体类写一个代理类,以后要使 ...