在原来的代码上有修改,主要为:

  1. 将准备随机数方法放到了init中,这样不用手动调用了
  2. setWeek方法已经过时,使用的是setWeekOfYear方法

在此放一份以备以后查找:

le.h

//
//  LotteryEntry.h
//  lottery
//
//  Created by kinds on 15/6/25.
//  Copyright (c) 2015年 hopy. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface LotteryEntry : NSObject{
    NSDate *entry_date;
    int first_number;
    int second_number;
}

-(void)prepareRandomNumbers;
-(void)setEntryDate:(NSDate*)date;
-(NSDate *)entryDate;
-(int)firstNumber;
-(int)secondNumber;
@end

le.m

//
//  LotteryEntry.m
//  lottery
//
//  Created by kinds on 15/6/25.
//  Copyright (c) 2015年 hopy. All rights reserved.
//

#import "LotteryEntry.h"

@implementation LotteryEntry

-(id)init{
    self = [super init];
    if(self){
        [self prepareRandomNumbers];
    }
    return self;
}

-(void)prepareRandomNumbers{
    first_number = ((int)random()%100) + 1;
    second_number = ((int)random()%100) + 1;
}

-(void)setEntryDate:(NSDate *)date{
    entry_date = date;
}

-(NSDate*)entryDate{
    return entry_date;
}

-(int)firstNumber{
    return first_number;
}

-(int)secondNumber{
    return second_number;
}

-(NSString *)description{
    NSDateFormatter *df = [NSDateFormatter new];
    [df setTimeStyle:NSDateFormatterShortStyle];
    [df setDateStyle:NSDateFormatterMediumStyle];
    return [[NSString alloc]initWithFormat:@"%@ = %d and %d",
            [df stringFromDate:entry_date],first_number,second_number];
}
@end

main.m

//
//  main.m
//  lottery
//
//  Created by kinds on 15/6/24.
//  Copyright (c) 2015年 hopy. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "LotteryEntry.h"

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSDate *now = [NSDate new];
        NSCalendar *cal = [NSCalendar currentCalendar];
        NSDateComponents *to_week = [NSDateComponents new];

        srandom((unsigned)time(NULL));
        NSMutableArray *mary = [NSMutableArray new];
        for(int i = 0;i<10;i++){
            [to_week setWeekOfYear:i];
            NSDate *from_now = [cal dateByAddingComponents:to_week toDate:now
                                                   options:0];
            LotteryEntry *le = [LotteryEntry new];
            //[le prepareRandomNumbers];
            [le setEntryDate:from_now];
            [mary addObject:le];
        }

        for(LotteryEntry *le in mary)
            NSLog(@"%@",le);
    }
    return 0;
}

objective-c随机数+日期格式显示一例的更多相关文章

  1. Weblogic页面应用查询oracle数据库后台报错或页面日期格式显示错误

    问题:在生产环境中有两台WEB服务器,分别为227和228,部署的应用代码都是每日同步的,两边完全一致,但是某些页面查询数据时,227无结果,并且后台报java数组越界的错误,而228一切正常.经开发 ...

  2. 关于JSON日期格式显示及My97日期控件

    1.My97日期控件.显示不同的日期格式,可以调整"dateFmt“的参数来配置: 详细DEMO:http://www.my97.net/demo/index.htm <p>日期 ...

  3. Swagger--解决日期格式显示为Unix时间戳格式 UTC格式

    在swagger UI模型架构上,字段日期显示为“日期”:“2018-10-15T09:10:47.507Z”但我需要将其作为“日期”:“2018-9-26 12:18:48”. tips:以下这两种 ...

  4. Oracle查询结果中的日期格式显示到毫秒数,如何去掉多余的数

    @Temporal(TemporalType.TIMESTAMP) @Column(name="createTime",nullable=false) private Date c ...

  5. SAS 日期格式显示年月的format

    首先要感谢bobguy在人大论坛上的帮助!之前和webgu也在圈子里讨论过这个问题,只找到一个yymmn6.的format,只能应用于yyyymm的情况.有了bobguy大侠的帮助,我们现在就可以表达 ...

  6. 【Linux】date命令用法详解(日期格式)

    inux下date命令用法 date [OPTION]… [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] date命令参数 ...

  7. Java基础(37):Java中日期的显示与格式定值----Date与SimpleDateFormat的试用

    使用 Date 和 SimpleDateFormat 类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取 ...

  8. iOS之获取当前时间日期并按固定格式显示

    写一个常用的获取当前日期,时间的代码.并且能以规定的格式显示出来 1 2 3 4 5 NSDate *currentDate = [NSDate date];//获取当前时间,日期 NSDateFor ...

  9. SQL显示某月全部日期明细以及SQL日期格式

    SQL显示某月全部日期明细<存储过程> 方法一: declare @date datetime declare @end datetime ,getdate()) ,@date) crea ...

随机推荐

  1. 剑指Offer——美团内推+校招笔试题+知识点总结

    剑指Offer--美团内推+校招笔试题+知识点总结 前言 美团9.9内推笔试.9.11校招笔试,反正就是各种虐,笔试内容如下: 知识点:图的遍历(DFS.BFS).进程间通信.二叉查找树节点的删除及中 ...

  2. 自定义gradview

    http://blog.csdn.net/jdsjlzx/article/details/7525724 虽然Android已自带了GridView,但是,却不够灵活,同时也不能自由添加控件,因此,本 ...

  3. 12 PopupWindow

    PopupWindow创建方式 PopupWindow pop = new PopupWindow() PopupWindow pop = new PopupWindow(上下文, 填充宽, 填充高) ...

  4. Cocos2D v3.4.9粒子效果不能显示的原因分析及解决办法

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在游戏App中为了衬托气氛我们往往使用一些特殊的图形效果,粒子 ...

  5. 6. React 表单使用介绍

            表单是前端页面中非常重要也是非常常用的一个内容,react 也在表单方面进行了很多封装,让开发者可以方便快捷地在 react 组件中使用表单.下面介绍如何在组件中正确的使用表单,从而可 ...

  6. 使用JavaScript动态的添加组件

    使用JavaScript进行动态的网页窗体组件的添加是一件很方便也很容易实现的事情.话不多说,边看代码边做解释吧. 准备工作 由于html页面中不可以添加java代码,所以我在jsp页面中进行了测试. ...

  7. jQuery 异步上传插件 Uploadify302 使用 (JavaEE Spring MVC)

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.而且是Ajax的,省去了自己写Ajax上传功能的麻烦.不过官方提供的实例时php版本的,本文将详细介绍Uploadify ...

  8. Linux Debugging(七): 使用反汇编理解动态库函数调用方式GOT/PLT

    本文主要讲解动态库函数的地址是如何在运行时被定位的.首先介绍一下PIC和Relocatable的动态库的区别.然后讲解一下GOT和PLT的理论知识.GOT是Global Offset Table,是保 ...

  9. EFI怎么装系统? UEFI BIOS

    关于EFI的介绍,就不赘述了. 大家可以看看这个帖子 http://benyouhui.it168.com/thread-2488583-1-1.html 总之,新电脑都是这玩意,win8也做了相应E ...

  10. C语言头文件和库的一些问题

    使用gcc的编译器 头文件没有包含stdlib.h,使用atoi函数(atoi函数在stdlib.h中才有声明),编译却没有出错如果编译的时候加上-Wall选项,会有个警告,请问这是为什么? 这是因为 ...