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

代码:

#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:
            [email protected]"星期日";
            break;
        case 2:
            [email protected]"星期一";
            break;
        case 3:
            [email protected]"星期二";
            break;
        case 4:
            [email protected]"星期三";
            break;
        case 5:
            [email protected]"星期四";
            break;
        case 6:
            [email protected]"星期五";
            break;
        case 7:
            [email protected]"星期六";
            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

时间: 2024-10-17 03:50:45

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

算法笔记-DTW动态时间规整

算法笔记-DTW动态时间规整 简介 简单的例子 定义 讨论 约束条件 步模式 标准化 点与点的距离函数 具体应用场景 分类 点到点匹配 算法笔记-DTW动态时间规整 动态时间规整/规划(Dynamic Time Warping, DTW)是一个比较老的算法,大概在1970年左右被提出来,最早用于处理语音方面识别分类的问题. 1.简介 简单来说,给定两个离散的序列(实际上不一定要与时间有关),DTW能够衡量这两个序列的相似程度,或者说两个序列的距离.同时DTW能够对两个序列的延展或者压缩能够有一定

读书笔记——《暗时间》

读书笔记——<暗时间> 宋宸宁 经典摘抄 1.迅速进入状态的能力能够迅速进入专注状态,抗干扰以及能够长期保持专注状态,是高效学习的三个最重要的习惯. 2.设计自己的进度条当想退出的时候,至少先问一下搜索引擎 高德先生的一句话:过早的退出是一切失败的根源. 3.延迟决策是最差的决定 4.“作为程序员,没有查过wikipedia,没有看过几本原版电子书,没有在国内外主要邮件列表里面提过问题吵过架,没有用技术博客记录学习的独特体会,没有订阅技术牛人们的博客,怎么好意思说身在这个行业呢” 5.你所拥有

用GetTickCount()计算一段代码执行耗费的时间的小例子

var aNow,aThen,aTime:Longint; begin aThen := GetTickCount(); Sleep(1000);//代码段 aNow := GetTickCount(); aTime := aNow-aThen; ShowMessage(IntToStr(a)); end; 用GetTickCount()计算一段代码执行耗费的时间的小例子,布布扣,bubuko.com

多线程二(GCD)代码笔记

// // TWFXViewController.h // Demo_GCD // // Created by Lion User on 12-12-11. // Copyright (c) 2012年 Lion User. All rights reserved. // #import <UIKit/UIKit.h> @interface TWFXViewController : UIViewController @property (retain, nonatomic) IBOutlet

《BI项目笔记》创建时间维度(1)

原文:<BI项目笔记>创建时间维度(1) SSAS Date 维度基本上在所有的 Cube 设计过程中都存在,很难见到没有时间维度的 OLAP 数据库.但是根据不同的项目需求, Date 维度的设计可能不大相同,所以在设计时间维度的时候需要搞清楚几个问题: 你的业务涉及到的最低的细节级别是什么?比如按季度查看报表还是按月份,或者按周,或者再甚者按天.这个细节级别需要弄清楚,比如在一些销售数据统计,有的时候可能更多按季度或者按月来查看报表.但在有的监控一些机器运行数据的统计,可能会按照小时或者分

Lua学习笔记6:时间和日期

lua中的时间类似于C语言中的时间,如下: local time = os.time() print(time) local t = os.date("*t") for k,v in pairs(t) do <span style="white-space:pre"> </span>print(k,v) end 这样就可以分别输出年.月.日.时.分.秒,输出如下: 1407406553 hour 18 min 15 wday 5 day 7

JfinalUIB 代码笔记 (4)--- 高仿ibatis(mybatis)实现sql的集中管理

实现sql的集中管理,简单的把一些固定长度的sql移植进xml很简单,这没有什么好多说的,关键问题是我们平时处理的sql,有大量是动态长度的,比如说最常见的就是多条件的分页查询,往往我们会在代码中写大量的if else,想把这些移植进xml就比较困难了,完全仿制ibatis来做xml标签工作量太大,最省事的处理方法就是能不能直接把Java代码的逻辑处理方式移植进xml,然后对逻辑代码进行解析,绕开那一大堆的xml标签定义,下面就是jfinaluib中的处理方式: 1.0 暂时还是用的拼接,没有预

汇编代码笔记 动态更新中

汇编考完了,悲剧的93分,,,,,以后的汇编就用的少了,凡是用到都来这里做点代码笔记: 一.错误总结: 1.程序最后END +起始标号,否则U的时候需要自己手动找起始位置而且有可能程序翻译指令错误 2.对内存单元进行操作的时候,注意类型的指定,比如inc [si]必然是错的因为没有类型,还有处理数据计数器si注意加一 3.凡是用到[si]这种形式的,都注意声明BYTEPTR,WORD PTR 4.同3的错误,如果声明了COUNTDB 3,那么mov cx,count就是不对的,因为类型不匹配 5

《linux 内核完全剖析》 vsprintf.c 代码笔记

Flex1 到 Flex3 使用的都是 Halo组件,这里将介绍Halo 组件中的List 和 DataGrid .其中 DataGrid 是显示多列数据中最常用的方式.但是在Spark中还有没对应DataGrid的组件. 先写个"食物"的模型 Dinner.as . package model { [Bindable] public class Dinner { public var name:String; public var food:String; public var du