iOS开发之oc(二十二)--Foundation(7)NSValue、NSDate

NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue

(一)NSValue值转换

#import <Foundation/Foundation.h>
int main()
{    
    // 结构体--->OC对象
    
    CGPoint p = CGPointMake(10, 10);
    // 将结构体转为Value对象
    NSValue *value = [NSValue valueWithPoint:p];
    
    // 将value转为对应的结构体
    // [value pointValue];
    
    NSArray *array = @[value];
        
    return 0;
}

 

(二)NSDate日期格式设定

代码示例

1.

void test()
{   //了解一下就行
    
    //  创建一个时间对象
    NSDate *date = [NSDate date];
    NSDate * date1 = [NSDate dateWithTimeInterval:5 sinceDate:date];
    // 从1970开始走过的秒数
    NSTimeInterval seconds = [date timeIntervalSince1970];
    
    // 调用代码和这个时间相差多少秒
    // [date1 timeIntervalSinceNow];
    
      NSLog(@"%@",date);

}

2.

void test1()
{
    // 要掌握(1)
    // 将date转化为字符串
    // 1.当前的时间(不是东八区的)
    NSDate *date = [NSDate date];
    
    // 2.日期格式转化类(只有对象方法)
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    
    // y年 M月 d 日
    // m分 s秒 H (24)时  h(12)时
    // 3.在这里设置格式,将date转化成一定格式的字符串
    formatter.dateFormat=@"yyyy-MM-dd hh:mm:ss";
    
    NSString *str  = [formatter stringFromDate:date];  // 把右边的date转化成左边的string(formatter)格式
    
    NSLog(@"%@",str);

}

3.

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[])
{
    // 要掌握(2)
    // 将字符串转化为date
    
    NSString *time = @"2011/12/12 12:20";  // 注意:这里的时间制要和下面的HH对应,否则打印不出来
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
    formatter.dateFormat = @"yyyy/MM/dd HH:mm";    // 注意
    NSDate *date = [formatter dateFromString:time];
    NSLog(@"%@",date);
        return 0;
}

 

posted @ 2015-02-26 19:00  timo1234  阅读(210)  评论(0编辑  收藏  举报